Faile duoti skaiciai (pirmoj eilutej - skaiciu kiekis, antroje - patys skaiciai). Man reikia surasti teigiamu skaiciu vidurki. Niekaip nesugebu to padaryti, nes nesuprantu, ar tos antros eilutes skaicius reikia i viena kintamaji sudeti? Cia pati bandziau kazka daryti, bet nesigauna. var f : text; x, n, i, w, z : integer; v: real; teks:string; begin assign (f, 'lol.txt'); reset (f); readln (f,n); z:=0; for i:=1 to n do begin read (f, x); if x > 0 then begin w:= w+1; z:=z+1; end; end; v:= z/w; writeln ('Teigiamu skaiciu vidurkis:',v:5:2); close (f); readln; end.
ACIU UZ PAGALBA : D
valdas3 +1276
z:=z+1; Čia klaida. P.S. kintamiesiems duok normalius pavadinimus :)
Kaktusas +4
ech, o kaip tą klaidą ištaisyti? :) ir dėkui už patarimą, žymai patogiau : D
Taksas027 +1078
čia gerai, jis suskaičiuoja kiek teigiamų skaičių yra
valdas3z:=z+1; Čia klaida. P.S. kintamiesiems duok normalius pavadinimus :)
kai nuskaitai antros eilutės skaičius ir patikrini ar jie teigiami tai reik tuos skaičius ir sudėt o ne prie w pridėt 1, nes kitaip atsakymas visada bus 1 arba 0/0
valdas3 +1276
Na, turbūt žinai kas yra vidurkis? Skaičių suma, padalinta iš skaičių kiekio. Kaip matau pas tave kintamasis w skaičiuoja kiek yra teigiamų skaičių, tad z turėtu skaičiuoti teigiamų skaičių sumą, bet jis to nedaro, jis daro tą patį ką ir kintamasis w :) . P.S. Prieš ciklą prilygink w prie nulio.
Taksas027 +1078
šiaip jo arba tas arba tas :D
valdas3 +1276
Na jis vidurkį skaičiuoja taip: v:= z/w; Tad w pas jį parodo kiek yra skaičių :)
pakeista prieš 11 m
Mirtise +3503
šiaip tai pas JĄ, neatidūs vyrukai. :D
pakeista prieš 11 m
Taksas027 +1078
mm jo..
KaktusasCia pati bandziau kazka daryti, bet nesigauna.