Вопрос Гуру программирование , пожалуйста , помогите (паскаль)

Регистрация
19 Июн 2013
Сообщения
78
Репутация
0
Спасибо
0
Монет
0
program abc;

var i:array [1...20] of integer;

s, a;

begin

s:=0;

for i:= 0 to 19 do

begin

s:=s+a;

end;

s:=s/20;

WriteLn('Среднее арифметическое: ',s);

end.

Что здесь не так??
 
program abc;
var
i: array [1..20] of integer;
s, a: integer;
begin
s := 0;
for a := 1 to 20 do
begin
s := s + i[a];
end;
s := s / 20;
WriteLn('Среднее арифметическое: ', s);
end.
 
Не указан тип переменных s и a.Переменная i имеет тип массива и является счетчиком циклаИндекс массива объявляется от 1 до 20, а в цикле от 0 до 19. Будет выход за границу массива.Массив не инициализирован. Среднее будет равно нулю (с большой степенью вероятности).Секция описания переменных, скорее всего, должна выглядеть так
var
a : array[0..19] of Integer;
s : Real;
i : integer;
 
uses crt;
var
i,n:integer;
b:array[1..100] of integer;
s:real;
BEGIN
randomize;
clrscr;
writeln;
write('Vvesti N: ');
readln(n); s:=0;
writeln('Vektor B: ');
for i:=1 to n do begin
b:=random(21); write(b:3);
s:=s+b;
end;
writeln;
s:=s/n;
writeln('s= ',s:5:2)
end.
 
program abc;
var
i: integer;
arr: array [1..20] of integer;
s, a: real;
begin
s := 0;
// Заполнение массива значениями (предположим, что это числа от 1 до 20)
for i := 1 to 20 do
begin
arr := i;
end;

// Расчет суммы элементов массива
for i := 1 to 20 do
begin
s := s + arr;
end;

// Вычисление среднего арифметического
s := s / 20;
WriteLn('Среднее арифметическое: ', s);
end.
 
Назад
Сверху