Посчитать в массиве указанные характеристики - Pascal ABC

Формулировка задачи:

Дан массив K=[{k[i,j]}, i=1,10; j=1,10] (элементы выбираются случайным образом): 1) Посчитать количество нулевых и положительных элементов массива. 2) Найти сумму элементов главной диагонали. 3) Сложить элементы 5 и 7 строки. 4) Создать массив P={P1,P2,....Pn}, где каждое значение Pi является min- элементом i-ой строки. 5) Вывести на экран транспонированную матрицу. 6) Определить, является ли натуральное число N степенью числа 5 или нет. 7) С клавиатуры вводиться текст. Слова разделяются пробелом. Ввод текста прекращается после нажатия на клавиатуре точки. Посчитайте количество слов в тексте.

Код к задаче: «Посчитать в массиве указанные характеристики - Pascal ABC»

textual
program dev9tb;
uses crt;
type matrix=array[1..10,1..10] of integer;
type vector=array[1..10] of integer;
var a:matrix;
    b:vector;
procedure RandomMatrix(var a:matrix);
var i,j:integer;
begin
randomize;
for i:=1 to 10 do
for j:=1 to 10 do
a[i,j]:=random(11)-5
end;
 
procedure PrintMatrix(a:matrix);
var i,j:integer;
begin for i:=1 to 10 do
      begin
        for j:=1 to 10 do
        write(a[i,j]:3);
      writeln;
      end;
end;
 
procedure one(a:matrix);
var i,j,k:integer;
begin for i:=1 to 10 do
       begin  
        for j:=1 to 10 do
        if (a[i,j]>=0) then k:=k+1;
       end;
writeln('количество нулевых и положительных элементов = ',k);
end;
 
procedure two(a:matrix);
var i,j,s:integer;
begin
s:=0;
for i:=1 to 10 do
  for j:=1 to 10 do
  if (i=j) then s:=s+a[i,j];
writeln('сумма элементов главной диагонали = ',s);
end;
 
procedure three(a:matrix);
var i,j,s,s1:integer;
begin
s:=0;
for i:=1 to 10 do
  for j:=1 to 10 do
  begin
  if(i=5) then s:=s+a[i,j];
  if(i=7) then s1:=s1+a[i,j];
  end;
writeln('сумма элементов 5 строки = ',s);
writeln('сумма элементов 7 строки = ',s1);
end;
 
procedure four(a:matrix;var b:vector);
var i,j,min:integer;
begin
  for i:=1 to 10 do
  begin
  min:=a[i,1];
    for j:=1 to 10 do
    if a[i,j]<min then min:=a[i,j];
  b[i]:=min;
  end;
  write('Массив B из минимальных элементов каждой строки: ');
  for i:=1 to 10 do
  write(b[i],' ');
end;
 
procedure five(a:matrix);
var i,j:integer;
begin
writeln('Транспонированная матрица А:');
for j:=1 to 10 do
begin
  for i:=1 to 10 do
  write(a[i,j]:3);
writeln();
end;
end;
 
begin 
RandomMatrix(a);
writeln('Матрица А: ');
PrintMatrix(a);
writeln;
one(a);
two(a);
three(a);
four(a,b);
five(a);
end.

15   голосов, оценка 4.400 из 5


СОХРАНИТЬ ССЫЛКУ