Посчитать в массиве указанные характеристики - 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.
Объяснение кода листинга программы
- В процедуре
RandomMatrix
генерируется случайная матрицаa
размером 10x10, где каждый элемент матрицы равен случайному числу от 11 до 5. - В процедуре
PrintMatrix
выводится матрицаa
в виде таблицы, где каждая строка матрицы выводится на новой строке, а элементы строки разделены пробелами. - В процедуре
one
подсчитывается количество нулевых и положительных элементов в матрицеa
. - В процедуре
two
вычисляется сумма элементов главной диагонали матрицыa
. - В процедуре
three
подсчитывается сумма элементов 5-й строки и 7-й строки матрицыa
. - В процедуре
four
перебираются все элементы матрицыa
и присваиваются минимальному элементу массиваb
. Затем выводится массивb
, содержащий минимальные элементы каждой строки. - В процедуре
five
выводится транспонированная матрицаa
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д