PDA

Zobacz pełną wersję : kto mi pomoże napisałem ale wyskakują ostrzeżenia nie wiem co jest nie tak



Bartek1964
24-10-11, 22:10
uses
SysUtils;

var
minnaj,srednia:real;
lmin,lmax,najblizsza,i,j,n,suma:integer;
tablica:array[1..100]of integer;
begin
write('Podaj 1.liczbe z przedziału<0-100>:');
readln(n);
if(n>=0)and(n<=100)then
begin
suma:=n;
lmax:=n;
lmin:=n;
srednia:=n;
i:=1;
tablica[1]:=n;
while(n=0)and(n=100) do
begin
write('podaj',i+1,'.liczbe z przedzialu<0-100>:');
readln(n);
if(n<0)and(n>100)then
begin
writeln('podana liczba nie nalezy do przedzialu:')
end
else
i:=i+1;
tablica[i]:=n;
if (tablica[i]>=0)and(tablica[i]<=100)then
begin
if tablica[i]>lmax then
lmax:=tablica[i];
if tablica[i]<lmin then
lmin:=tablica[i];
suma:=suma+tablica[i];
srednia:=suma/i;
end;
end;
end;

writeln;
writeln('max:',lmax);
writeln('min:',lmin);
writeln('suma:',suma);
writeln('srednia:',srednia:2:2);
minnaj:=lmax;
for j:=1 to i do
if Abs(srednia-tablica[j])<minnaj then
begin
minnaj:=(srednia-tablica[j]);
najblizsza:=j;
end ;
writeln('element najblizszy sredniej to:',tablica[najblizsza]);
writeln('podzielne przez 3 sa:');

for j:=1 to i do
begin
if (tablica[j]>0)and (tablica[j]<=100)then
begin
if tablica[j]mod 3=0 then
writeln(tablica[j]);
end;
end;

if lmin>0 then
begin
writeln('podzielne przez najmniejsza liczbe sa:');
for j:=1to i do
if (tablica[j]>0)and (tablica[j]<=100)then
begin
if tablica[j] mod lmin=0 then
writeln(tablica[j]);
end;
end
else
begin
writeln('podzielne przez najmniejsza liczbe sa:');
writeln('nie dzieli sie przez zero');
end;


// else
// begin
// writeln;
// writeln('podana liczba jest spoza przedzialu');
// end;
readln;
end.






:confused:

Volvox
25-10-11, 19:45
Najlepiej podać co za błędy wyskakują i w jakich liniach ;)

Bartek1964
25-10-11, 21:10
Project2

{$APPTYPE CONSOLE}

uses
SysUtils;

var
minnaj,srednia:real;
lmin,lmax,najblizsza,i,j,n,suma:integer;
tablica:array[1..100]of integer;
begin
write('Podaj 1.liczbe z przedziału<0-100>:');
readln(n);
if(n>=0)and(n<=100)then
begin
suma:=n;
lmax:=n;
lmin:=n;
srednia:=n;
i:=1;
tablica[1]:=n;
while(n=0)and(n=100) do
begin
write('podaj',i+1,'.liczbe z przedzialu<0-100>:');
readln(n);
if(n<0)and(n>100)then
begin
writeln('podana liczba nie nalezy do przedzialu:')
end
else
i:=i+1;
tablica[i]:=n;
if (tablica[i]>=0)and(tablica[i]<=100)then
begin
if tablica[i]>lmax then
lmax:=tablica[i];
if tablica[i]<lmin then
lmin:=tablica[i];
suma:=suma+tablica[i];
srednia:=suma/i;
end;
end;
end;

writeln;
writeln('max:',lmax);
writeln('min:',lmin);
writeln('suma:',suma);
writeln('srednia:',srednia:2:2);
minnaj:=lmax;
for j:=1 to i do
if Abs(srednia-tablica[j])<minnaj then
begin
minnaj:=(srednia-tablica[j]);
najblizsza:=j;
end ;
writeln('element najblizszy sredniej to:',tablica[najblizsza]);
writeln('podzielne przez 3 sa:');

for j:=1 to i do
begin
if (tablica[j]>0)and (tablica[j]<=100)then
begin
if tablica[j]mod 3=0 then
writeln(tablica[j]);
end;
end;

if lmin>0 then
begin
writeln('podzielne przez najmniejsza liczbe sa:');
for j:=1to i do
if (tablica[j]>0)and (tablica[j]<=100)then
begin
if tablica[j] mod lmin=0 then
writeln(tablica[j]);
end;
end
else
begin
writeln('podzielne przez najmniejsza liczbe sa:');
writeln('nie dzieli sie przez zero');
end;


else
begin
writeln;
writeln('podana liczba jest z poza przedzialu');
end;
readln;
end.






:mad: