Дан одномерный массив целых чисел.найти и вывести на экран среднее арифметическое элементов этого массива равных своим индексам

Светасветасветасвета Светасветасветасвета    1   10.03.2019 07:20    1

Ответы
ValeriaSalvatore ValeriaSalvatore  24.05.2020 15:05

var a:array[1..10] of integer;
i,k:integer; s:real;
begin
randomize;
writeln('Массив: ');
for i:=1 to 10 do
begin
a[i]:=random(11);
write(a[i],' ');
if a[i] = i then begin s:=s+a[i]; inc(k) end
end;
writeln;
write('S = ',s/k)
end.

ПОКАЗАТЬ ОТВЕТЫ
Panda9881 Panda9881  24.05.2020 15:05

Не сказала бы, что это решение сильно отличается от уже имеющегося, но 

а) оно совсем немножко удобнее (хотя бы из-за ClrScr и вывода ответа с определённым количеством знаков после запятой). А ещё предусмотрена возможность отсутствия таковых чисел.

б)ну не могла я пропустить задачу по паскалю)

 

Program n1;
Uses CRT;
Const n=10;
Var a: array[1..n] of integer;
i,s,k: integer;
begin
ClrScr;
Randomize;
For i:=1 to n do
begin
a[i]:=random(10);
write(a[i]:3);
If a[i]=i then
begin
s:=s+a[i];
writeln('s=',s);
k:=k+1;
end;
end;
writeln;
If k=0 then writeln('таких элементов нет') else
Writeln('Среднее арифметическое элементов массива, равных своим индексам, равно ',s/k:4:4);
readln
end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика