@mariusz193
Przeczytałem wszystkie wątki (których odnośnie tego zadania nie ma jednak za wiele), odpowiedzi nie znalazłem - dlatego napisałem posta.
Treść zadania również czytałem dziesiątki razy i nie do końca byłem pewien, czy dobrze je zrozumiałem.
Nie byłem pewien czy w przypadku przejścia do nowej linii, ale braku zera na końcu - powinno się zakończyć sumowanie zestawu danych - czy też kontynuować do napotkania zera przed znakiem nowej linii.
Tym niemniej, uwzględniłem jeden mały detal w stosunku do załączonego kodu i po wielu godzinach jest AC
@masakra1112
Kilka uwag.
- Jak piszesz w C++ to używaj struktur z C++ - np. vector zamiast tablicy. Masz pewność, że liczb będzie mniej niż 100000?
- Po co w ogóle Ci tablica? Przecież zapisujesz do niej, od razu czytasz i nic z nią więcej nie robisz.
Zamiast:
int i=0;
liczby [i] = a;
suma = suma + liczby[i];
i++;
napisz:
suma = suma + a;
Krócej i wiadomo o co chodzi.
-
Nie musisz sprawdzać żadnego
getchar
. Jest napisane, że zestaw kończy się cyfrą0
i jest to wystarczające (if (a == 0) break
) -
Nie potrzebujesz
else'a
. Jak wejdzie wifa
to zrobibreak
więc nie wejdzie welse'a
, a jak nie wejdzie wifa
to wykona część po nim. Wystarczy zatem:if(a == 0) break;
suma = suma + a; -
suma = suma + a;
to inaczejsuma += a
-
Przykład dla którego miałeś błędny wynik:
0
1 0
0
1 0
0
1 0
który to powinien być:
0
1
0
1
0
1
3
@redysz
Dzięki za uwagi stricte “językowe”.
Moje ostatnie pytanie:
Czy w takim razie w jednym zestawie nie mogą występować dwa zera?? Przykładowo:
0 1 0 1 0
Czy to jest jeden zestaw czy już dwa?
Przyjąłem, że zer może być w jednym zestawie więcej niż jeden , wiec jako kryterium zakończenia wczytywania zestawu przyjąłem zero na końcu i znak nowej linii po nim.
Suggested Topics
Topic | Category | Replies | Views | Activity |
---|---|---|---|---|
TFRACAL - Kalkulator ułamków | Zbiór zadań | 2 | 192 | Feb 1 |
FR_20_02 - Poszukiwacze skarbów - Błąd w testach? | Zbiór zadań | 1 | 154 | Apr 2 |
SPOJ.com - Problem ZABAWA pl.spoj.com | Zbiór zadań | 6 | 136 | Jun 23 |