Evo napravio sam to tvojem, ali bez (x[i]) i array.
Samo ne izačunava mi broj ucenika vecih od 175 kako treba.
Nisi napravio po mojem. Bilo bi čudno da ti, ovako kako si napravio, "izračunava" broj učenika viših od 175 cm kako treba.
Kod pravilno indentiraj - uključujući i razmake s lijeve strane i vertikalne razmake.
program dimilcia;
var
broj_uc,visi_od_175,i:integer;
prosjecna_vis,visina_uc,suma:real;
begin
writeln('Upisi broj ucenika');
readln(broj_uc);
writeln('Upisite visine ucenika');
suma:=0;
for i:=1 to broj_uc do
begin
readln(visina_uc);
suma:=suma+visina_uc;
end;
prosjecna_vis:=suma/broj_uc;
visi_od_175:=0;
for i:=1 to broj_uc do
if visina_uc > 175 then
visi_od_175:=visi_od_175+1;
writeln('Prosjecna visina ucenika je ',prosjecna_vis:6:2,', a ucenika visih od 175 cm ima ',visi_od_175);
readln;
end.
Reci sad - koliko ti to ima smisla? Koja je vrijednost varijable visina_uc tu gdje sam označio žutim markerom? UVIJEK je jednaka zadnjoj vrijednosti koju je korisnik unio kod unosa podataka. Znači, vrijednost koja je ostala iz prethodne petlje.
Shvaćaš što si napravio? Imaš dvije petlje, u prvoj unosiš podatke za svakog pojedinog učenika (ali ih ne spremaš), a u drugoj petlji za visinu "trenutnog učenika" uzimaš zadnju unesenu visinu učenika! Pa ti onda ispada ili da su svi učenici viši od 175 cm ili da nijedan nije viši. Je li tako? Ne moram ni kompajlirati tvoj program da vidim da to ne valja. Ja sam koristio jednu petlju. Ako hoćeš bez polja, onda moraš sve imati u jednoj petlji.