40 / 153
Apr 2016

Już chyba rozumiem. Czyli to nie chodzi o wskazanie numeru elementu tablicy, tylko wartość tego elementu. Dodatkowo liczymy wersję (3+0)/2. Zasugerowałem się wcześniejszym zadaniem i zacząłem zbytnio kombinować że w różnych dziedzinach matematyki zero raz jest uznawane jako dodatnie, a raz nie.

Tak nawiasem mówiąc, to zrobiłem już jakieś 30 zadań z tej listy i wg mnie zbyt mało jest podawanych przykładów do samodzielnego sprawdzenia poprawności kodu.

Nie wiem czy dobrze zrozumiałem twoją sugestię, Przykłady w zadaniu nie służą do sprawdzania poprawności kodu. Są po to, aby lepiej zrozumieć zadanie i aby można było je "obejrzeć" ręcznie na kartce papieru. Takie dane, są siłą rzeczy bardzo podstawowe i oczywiście poprawny kod powinien je też poprawnie rozwiązać ale do samodzielnego sprawdzania poprawności, trzeba samodzielnie stworzyć, wygenerować, wymyśleć więcej a także większe testy. Na tym polega umiejętność programowania, nie tylko kodowanie ale i samodzielne testowanie i sprawdzanie poprawności kodu.

Dodałem przez przypadek 2 posty i nie widzę opcji kosza:/.

Hej, czy ktoś może mi podpowiedzieć DLACZEGO:
Example
Input:
3
4 + 1 + 2 + 3 + 4 = 14 -> średnia = 14 / 5 = 2,8 najbliżej średniej jest 3
4 + 4 + 3 + 2 + 1 = 14 -> średnia = 14 / 5 = 2,8 najbliżej średniej jest 3
4 + 0 + 3 + 2 + 4 = 13 -> średnia = 13 / 5 = 2,6 najbliżej średniej jest 3

Output:
2 Dlaczego 2 skoro najbliżej średniej jest 3???
3
2 Dlaczego 2 skoro najbliżej średniej jest 3???

DLACZEGO?
Nie mam zielonego pojęcia. Może nie rozumiesz treści zadania?
"... liczba 0 < n < 100 i n liczb ..."
n = 4 i n liczb: 1, 2, 3, 4 średnia = (1 + 2 + 3 + 4) / 4

No ale w takim przypadku w input powinna być chyba deklaracja wielkości tablicy:
t = 3 liczba pętli
n = 4 liczba komorek w tablicy
średnia = (1 + 2 + 3 + 4) / 4

W przykładzie wpisujesz od razu 5 liczb, nie ma w input liczby która deklaruje wielkość tablicy. W dodatku dwa wyniki w output są nieprawidłowe. Przykład powinien odnosić się do zadania tworząc kompatybilną całość a nie mieszać głowie:P. Narbej nie da się pogodzić treści i przykładu- dlatego tak tu skaucze:D. W każdym bądź razie spróbuję napisać program do treści zadania pomijając exampla.

hm. nie da się "pominąć" przykładu...

chodzi o to, że pierwsza liczba, którą Tobie podają, to po prostu rozmiar tablicy. Jeśli nie wiesz jak zadeklarować rozmiar tablicy w trakcie działania programu, to poczytaj o tablicach dynamicznych lub o kontenerach tablic.

Polecam dodatkowo przeczytać raz jeszcze treść (w szczególności INPUT - który mówi o liczbie "n" od 0 do 100, a dopiero następnie o podaniu n konkretnych liczb :slight_smile: ), która z pewnością dobrze tłumaczy polecenie :slight_smile:
Pozdrawiam

Pierwsza liczba w input którą podają to liczba pętli =3.
Potem masz 5 liczb w tablicy
4 1 2 3 4 <- 5liczb
4 4 3 2 1 <- 5 liczb
4 0 3 2 4 <- 5 liczb
Nie ma pomiędzy liczbą pętli a wpisywaniem liczb do tablicy liczby jaką ilość zmiennych ma przechowywać tablica.

Czyli prawidłowy Input powinien wyglądać tak:
t = 3 liczba testów

5 wielkość tablicy nr 1
4 1 2 3 4 uzupełnienie tablicy nr 1

5 wielkość tablicy nr 2
4 4 3 2 1 uzupełnienie tablicy nr 2

5 wielkość tablicy nr 3
4 0 3 2 4 uzupełnienie tablicy nr 3

A output tak:
3 pierwsza liczba najbliższa średniej w tablicy nr 1
3 pierwsza liczba najbliższa średniej w tablicy nr 2
3 pierwsza liczba najbliższa średniej w tablicy nr 3

Pozdrawiam:)

edit

anim_90 zajarzyłem chyba o co Ci chodzi:P. To tłumaczyło by tego inputa bez deklaracji tablicy ale wciąż nie kminie skąd w output przy średnich kolejno 2.8, 2.8 i 2.6 liczby najbliżej średniej to w dwóch przypadkach 2 a nie 3 w każdym przypadku:O. Nie kminie też skąd program ma wiedzieć, że chodzi nam o tablice na 5 zmiennych jeśli tak naprawdę w treści zadania jest przedział n od 0 do 100. Skąd program będzie wiedzieć, że użytkownik chce mieć tablicę na 14 zmiennych jeśli tego nigdzie nie zadeklaruje?

1 liczba w każdej linii to ilość liczb w tablicy, jest ich tam po 4 a nie 5. W przykładach masz:
4 (ilość liczb a potem te 4 liczby czyli) 1 +2 + 3 + 4 średnia 10 / 4 = 2.5
4 liczby 4 + 3 + 2+ 1 średnia 10 / 4 = 2.5 ( te same co w pierwszym tylko odwrotna kolejność)
4 liczby 0 + 3 + 2 + 4 średnia 9 / 4 = 2.25

To że we wszystkich przykładach jest po 4 liczby to czysty przypadek.

Face palm:D

Wielkie dzięki wszystkim za cierpliwość, haha.

Edit

Namieszałem trochę za co jeszcze raz chcę przeprosić i jednocześnie podziękować użytkownikom sig, anim_90 i narbej, za to, że chciało im się pomagać mojej skromnej osobie:).

1 month later

Uprzejmie proszę o pomoc. Dopiero zaczynam przygodę z programowaniem i nie rozumiem dlaczego SPOJ mi tego nie przepuszcza. Przy podawanych przeze mnie wartościach wydaje się być w porządku.
Oto mój kod: http://ideone.com/T1CEFu38

Nie przeglądałem dogłębnie kodu, ale widzę pierwszy błąd - za mały rozmiar tablicy. Zwiększ go adekwatnie do danych podanych w treści zadania - np. do 100000
Pozdrawiam :wink:

3 months later
18 days later

Witam,
Potrzebuję porady dotyczącej problemu poruszonego w tym zadaniu. Oto mój kod. Nie wiem jak w pętli zrobić poprawnie najmniejszą wartość i jej wyświetlenie. Niby przykład się zgadza i kilka innych też, ale nie zawsze.

tak, ja wiem - program daje złe odpowiedzi, a spoj żąda dobrych :slight_smile:

napisałaś samodzielnie ten kod ? - jeżeli tak, to bez problemu znajdziesz błąd na podstawie podanego przykładu, gdzie są złe odpowiedzi:

2
4 8 10 4 10
4 10 8 10 4

Jak zawsze jakiś głupi błąd nad którym siedziałam godzinę.. ale dałam radę, dzięki! ( i tak, sama napisałam :v)