Sortowanie Od najmniejszej do największej CYFRY PASCAL?
PROLINK
Polecane pytania
Dodaj swoje zadanie domowe za darmo
Witam, napisałam program/tablica w ktorym brakuje mi jeszcze jednego elementu. Polega to na tym, ze na poczatku ma poprosic o podanie pieciu ocen , nastepnie wypisac od najmniejszej do najwiekszej posrod podanych jedna pod druga, a na koncu wypisac srednia wszystkich ocen. W programie brakuje mi tego sortowania liczb w kolejnosci, gdy np. zostaje podane:3,4,1,6,2. W ktorym miejscu to umiescic i jak to ma wygladac? Program wyglada nastepująco:
Kod:
program tablica;
uses crt;
var ocena:array[1..5]of byte;
i:byte;
suma:byte;
begin
clrscr;
for i:1 to 5 do
begin
write('Podaj ocene ' ,i,': ');
readln(ocena[i]);
end;
for i:=1 to 5 do writeln(ocena[i]);
for i:=1 to 5 do
suma:=suma+ocena[i];
write('srednia ', suma/5:1:2);
repeat until keypressed;
end.
Kod:
program tablica;
uses crt;
var ocena:array[1..5]of byte;
i:byte;
suma:byte;
begin
clrscr;
for i:1 to 5 do
begin
write('Podaj ocene ' ,i,': ');
readln(ocena[i]);
end;
for i:=1 to 5 do writeln(ocena[i]);
for i:=1 to 5 do
suma:=suma+ocena[i];
write('srednia ', suma/5:1:2);
repeat until keypressed;
end.
Sprobuj na https://dojrzewamy.pl. Pisza ponad 2000 odpowiedzi dziennie!
Witaj
Istnieje kilka popularnych algorytmow sortowania - jednym z nich jest sortowanie bąbelkowe.
http://pl.wikipedia.org/wiki/Sortowanie_bąbelkowe
Choc jest to chyba najgorszy algorytm sortowania to ma swoje zalety - jest bardzo prosty i wlasnie dlatego proponuje z niego skorzystac.
Zanim udziele Ci pomocy, chcialbym zwrocic uwage na kilka drobiazgow w Twoim kodzie. Z tego co zauwazylem jedna petla jest niepotrzebna. Wyrazenie:
Mozna zastapic wyrazeniem:
Kolejna sprawa: dobrze byloby gdybys uzywala stalych. Wyobraz sobie taka sytuacje: Twoj nauczyciel zmienil tresc zadania i chcialby, zeby uzytkownik podal 15 ocen a nie 5. Wtedy pewnie zaczniesz zamieniac kazda 5-tke na 15-tke. Stale sa po to, zeby tego uniknac. Ostatecznie proponuje zrobic to tak:
Na koniec dodam, ze kod pisalem z glowy - moglem gdzies sie pomylic, dlatego warto byloby zebys sprawdzila czy dziala.
Istnieje kilka popularnych algorytmow sortowania - jednym z nich jest sortowanie bąbelkowe.
http://pl.wikipedia.org/wiki/Sortowanie_bąbelkowe
Choc jest to chyba najgorszy algorytm sortowania to ma swoje zalety - jest bardzo prosty i wlasnie dlatego proponuje z niego skorzystac.
Zanim udziele Ci pomocy, chcialbym zwrocic uwage na kilka drobiazgow w Twoim kodzie. Z tego co zauwazylem jedna petla jest niepotrzebna. Wyrazenie:
for i:=1 to 5 do writeln(ocena[i]);
for i:=1 to 5 do
suma:=suma+ocena[i];
Mozna zastapic wyrazeniem:
for i:=1 to 5 do
begin
writeln(ocena[i]);
suma:=suma+ocena[i];
end;
Kolejna sprawa: dobrze byloby gdybys uzywala stalych. Wyobraz sobie taka sytuacje: Twoj nauczyciel zmienil tresc zadania i chcialby, zeby uzytkownik podal 15 ocen a nie 5. Wtedy pewnie zaczniesz zamieniac kazda 5-tke na 15-tke. Stale sa po to, zeby tego uniknac. Ostatecznie proponuje zrobic to tak:
Na koniec dodam, ze kod pisalem z glowy - moglem gdzies sie pomylic, dlatego warto byloby zebys sprawdzila czy dziala.


