Wpis z mikrobloga

#programowanie #cpp #algorytmy #bioinformatyka
kolejny post z cyklu jestem w dupie bo obijałem się przez cały semestr ( ͡° ʖ̯ ͡°) nie wiedzieć czemu ( ͡° ʖ̯ ͡°). Zadanie wygląda następująco: http://www.cs.put.poznan.pl/mkasprzak/akb/zad4.html
mój kod: http://pastebin.com/mJxSH2ZL
i teraz jak widzicie nie działa, nie wiem czemu nie wraca pomimo znalezienia błędnego rozwiązania. ma ktoś jakieś uwagi ?
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

PS. problem leży gdzieś przy aktualnej sumie dla 3 3 9 2 7 podaje sumę 15 a przy 3 3 9 2 0 podaje 8
Oraz przy rozwiązaniu bierze pod uwagę 0 jako element rozwiązania
  • Odpowiedz
@levil: Sory ze się czepiam, ale wszędzie korzystasz z WielkosZbioru zamiast poprostu z zbior.size() a nie widzę problemów byś miał jakieś rożne rozmiary, zamiast:

int ZnajdzMaxWartosc(int c, vector tab)

zrób:

int ZnajdzMaxWartosc(vector const&
  • Odpowiedz
@lionbest: czepianie nawet lubię zawsze podłapie coś nowego ( ͡° ͜ʖ ͡°), masz rację, często pomijam proste rzeczy i kombinuje na około ( ͡° ʖ̯ ͡°), głównie chodzi mi o funkcje mapuj, która jest sercem tego programu i no niestety szwankuje po całości
  • Odpowiedz
@lionbest: co proponujesz na poprawę czytelności ? plus chyba ogarnąłem, nie wiem poco mam 1 pętlę, która iteruje po rozwiązaniu skoro w każdym wywołaniu zajmuję się tylko jedną pozycją rozwiązania
  • Odpowiedz
@lionbest: Zagnieżdżony może być rozwiązanie wykładnicze ( ͡° ͜ʖ ͡°)
Algorytm ma działać następująco:
szukamy mapy czyli takiej kolejności liczb, które spełnia następujące warunki:
sumujemy każdy element po kolei od początku i wyrzucamy tą sumę z rozwiązania. do tego każda para elementów n i n-2 również musi dawać sumę zawartą w danych wejściowych. nie koniecznie wszystkie liczby ze zbioru muszą zostać usunięte ale ostatecznie suma wszystkich
  • Odpowiedz
@levil: Spróbuj rozbić logicznie na kilka funkcji, powinna ci zostać tam tylko jedna pętla wybierająca kolejny element.
Nie bój się pisać długich nazw funkcji to leprze niż komentarze. Aha i definicje funkcje dodawaj przed funkcjami zamiast samych deklaracji, chyba że ci przeszkadzają to upchaj je w plik nagłówkowy.
  • Odpowiedz
@levil: uznaj to za życzliwe heheszki ;) po prostu zamiast wyciągać archaiczny plik nagłówkowy rodem z C (który nie jest częścią standardu) mogłeś użyć czegoś typowego dla cpp, nie wiem, cin.ignore(), czy coś :)
  • Odpowiedz
@bambosze_babuni: wybacz ale nie czytałem nigdy żadnej książki od nauki języka programowania. Jak nie potrzebuje to nie przeglądam i nie szukam innych rozwiązań. Jak znasz jakąś lekturę, którą możesz polecić to na pewno obadam temat ( ͡° ͜ʖ ͡°)
  • Odpowiedz