Нужно найти количество элементов массива, больших среднего арифметического всех ее...

0 голосов
68 просмотров

Нужно найти количество элементов массива, больших среднего арифметического всех ее элементов. Всё работает, только вот то самое количество все время получается равно 31-му. В чем ошибка?
У меня в программе:
s - сумма
k - количество
sr - среднее арифметическое

Сама программа:

program Pascal1;
const N=5; M=6;
var A: array [1..N,1..M] of integer;
i, j, s, k: integer;
sr: real;
begin
k:=0; s:=0;
randomize;
for i:=1 to N do begin
for j:=1 to M do begin
A[i,j]:=random(50)-10;
write (A[i,j]:6);
end; writeln; end;

for i:=1 to N do
for j:=1 to M do
s:=s+A[i,j];
writeln ('s = ',s);

for i:=1 to N do
for j:=1 to M do
k:=k+1;
writeln ('k = ',k);

sr:=s/k;
writeln ('Srednee ',sr);

if (A[i,j]>=sr) then begin
inc(k);
end;
writeln ('Kolichestvo ',k);
end.


Информатика (111 баллов) | 68 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Uses crt;
var i,j,n,k,p:integer; a:array[1..100,1..100] of integer; sr:real;
begin
clrscr;
randomize;
write('dlina massiva ');readln(n);
for i:=1 to n do begin
for j:=1 to n do
a[i,j]:=random(10);
end;
for i:=1 to n do begin
for j:=1 to n do
    write(a[i,j],' ');
    writeln;
end;
for i:=1 to n do begin
for j:=1 to n do
    k:=k+a[i,j];
end;
sr:=k/sqr(n);
writeln;
write('sr = ',sr:2);
for i:=1 to n do begin
for j:=1 to n do
if a[i,j]>sr then inc(p);
end;
writeln;
writeln('kolichestvo ',p);
readln
end.


(238 баллов)