A feladat: A program számolja ki a tömbelemek átlagát, és az eredményt kék színnel írja ki a képernyőre, majd határolja be, hogy az átlag melyik 10000-es sávba esik! Mi a probléma a programmal, mert az előző besoroláshoz tartozó kiíratást is elvégzi?
uses crt;
var j,m:integer;
f,k,l:text;
s,t,i:string;
x:array[1..16384] of integer;
procedure nevsor;
begin
readln(k,t);
writeln(t,';');
end;
procedure temak;
begin
readln(f,s);
write(s,' ');
end;
begin
clrscr;
assign(f,'D:\Cuccok\A\TP\nevsor.txt');
{$I-}
Reset(f);
{$I+}
If Ioresult <> 0 then
begin
writeln('Hiba: A f jl nem tal lhat˘!');
halt;
end;
assign(k,'D:\Cuccok\A\TP\temak.txt');
{$I-}
Reset(k);
{$I+}
If Ioresult <> 0 then
begin
writeln('Hiba: A f jl nem tal lhat˘!');
halt;
end;
while not eof(f) do begin
temak;
nevsor;
m:=m+1;
end;
assign(l,'D:\Cuccok\A\TP\eloadas.txt');
Rewrite(l);
while not eof(l) do begin
readln(k,t);
writeln(t);
readln(f,s);
writeln(s);
end;
close(l);
close(f);
close(k);
readln;
end.
Tényleg... Bocs rosszat másoltam be.
ez a jó:
uses crt;
var x:array[1..21] of longint;
sok:array[1..20] of longint;
i,j,k,m:longint;
l:real;
procedure atlag;
begin
l:=k/j;
writeln('Az tlag: ',l:0:3);
writeln;
if (0<l) and (l>10001) then writeln('Az tlag a(z) 1-10000 s vba tartozik.');
if (10000<l) and (l>20001) then writeln('Az tlag a(z) 10000-20000 s vba tartozik.');
if (20000<l) and (l>30001) then writeln('Az tlag a(z) 20000-30000 s vba tartozik.');
if (30000<l) and (l>40001) then writeln('Az tlag a(z) 30000-40000 s vba tartozik.');
if (40000<l) and (l>50001) then writeln('Az tlag a(z) 40000-50000 s vba tartozik.');
end;
begin
clrscr;
randomize;
for i:=1 to 20 do begin
x[i]:=random(50000)+1;
j:=j+1;
k:=k+x[i];
end;
atlag;
readln;
end.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!