Посчитать в массиве указанные характеристики - 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) С клавиатуры вводиться текст. Слова разделяются пробелом. Ввод текста прекращается после нажатия на клавиатуре точки. Посчитайте количество слов в тексте.

Решение задачи: «Посчитать в массиве указанные характеристики»

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.

Объяснение кода листинга программы

  1. В процедуре RandomMatrix генерируется случайная матрица a размером 10x10, где каждый элемент матрицы равен случайному числу от 11 до 5.
  2. В процедуре PrintMatrix выводится матрица a в виде таблицы, где каждая строка матрицы выводится на новой строке, а элементы строки разделены пробелами.
  3. В процедуре one подсчитывается количество нулевых и положительных элементов в матрице a.
  4. В процедуре two вычисляется сумма элементов главной диагонали матрицы a.
  5. В процедуре three подсчитывается сумма элементов 5-й строки и 7-й строки матрицы a.
  6. В процедуре four перебираются все элементы матрицы a и присваиваются минимальному элементу массива b. Затем выводится массив b, содержащий минимальные элементы каждой строки.
  7. В процедуре five выводится транспонированная матрица a.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.4 из 5
Похожие ответы