Другие языки программирования и технологии

помогите пожалуйста срочно надо

Составьте программу используя подпрограмм функцию. В двумерном массиве A[1..10, 1..10] случайных чисел вычислить количество положительных элементов главной диагонали.
Berik Kozhakhmetov
Berik Kozhakhmetov
202
program N86815362;
const
  n = 10;
type
  TArray = array [1 .. n, 1 .. n] of integer;

function Count(a: TArray; n: byte): byte;
const
  Res: byte = 0;
var
  i: byte;
begin
  for i := 1 to n do
    inc(Res, ord(a[i, i] > 0));
  Count := Res
end;

var
  a: TArray;
  i, j: byte;
begin
  randomize;
  writeln('Дан массив: ');
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      a[i, j] := random(201) - 100;
      write(a[i, j]:6)
    end;
    writeln
  end;
  writeln(#13#10'Кол-во положительных на главной диагонали: ', Count(a, n));
  write(#13#10'Для завершения работы нажмите Enter...');
  readln
end.

P.S. Подпрограмма Георгия из-за невнимательности при назначении идентификаторов является бесконечно рекурсивной с ошибкой (отсутствуют параметры вызова) .
Программа Ярослава неоптимальна. Ни к чему просматривать весь массив, что бы посчитать элементы на главной диагонали.
АС
Андрей Сёмин
51 590
Лучший ответ
type mas=array[1..10,1..10] of integer;
var a:mas;

function k(a:mas; n:integer):integer;
begin
k:=0;
for i:=1 to n do
if a [ i,i ]> 0 then k:=k+1;
end;
и т. д
ЖК
Женя Кабаев
95 932
Главная часть программы
for i:=1 to 10 do begin
for j:=1 to 10 do begin
if i=j then k:=k+1;