Выполнить заданные операции над матрицей - Pascal
Формулировка задачи:
Дана матрица С(5х5) положительных и отрицательных элементов
1) Ввести элементы матрицы и вывести на экран дисплея.
2) Вывести на экран дисплея элементы главной диагонали (i=j), определить их сумму и число положительных элементов главной диагонали.
3) Включить в матрицу дополнительную строку с заданным номером K (K=6), вывести на экран новую матрицу С1.
4) Реализовать поиск элемента по его индексам и вывод его на экран.
Начало у меня было положено, сделал первый и половину второго пункта:
program massiv; const m=5; n=5; k=6; var c:array[1..m,1..n] of integer; var c1:array[1..m,1..k] of integer; i,j,sum,pol:integer; begin for i:=1 to m do for j:=1 to n do read (c[i,j]); writeln('Матрица C'); for i:=1 to m do begin for j:=1 to n do write (c[i,j],' '); writeln(); end; writeln('Элементы главной диагонали'); for i:=1 to m do begin for j:=1 to n do if i=j then write (c[i,j],' '); end; end.
Решение задачи: «Выполнить заданные операции над матрицей»
textual
Листинг программы
var ar: Array[1..6, 1..5] Of Integer; i, j, pos, x, y, n, m: Byte; sum: LongInt; begin {1} n := 5; m := n; for i := 1 to n do for j := 1 to m do ReadLn(ar[i, j]); WriteLn('Матрица C:'); for i := 1 to n do begin for j := 1 to m do Write(ar[i, j]:7); WriteLn; end; {2} sum := 0; pos := 0; Write('Элементы главной диагонали:'); for i := 1 to m do begin Write(ar[i, i]:7); if (ar[i, i] > 0) then Inc(pos); Inc(sum, ar[i, i]); end; WriteLn; WriteLn('Положительных на главной диагонали: ', pos); WriteLn('Сумма элементов главной диагонали: ', sum); {3} WriteLn('Введите 5 элементов дополнительной строки:'); Inc(n); for j := 1 to m do ReadLn(ar[n, j]); WriteLn('Матрица С1:'); for i := 1 to n do begin for j := 1 to m do Write(ar[i, j]:7); WriteLn; end; {4} WriteLn('Введите индексы искомого элемента матрицы: '); ReadLn(x, y); if ((x in [1..n]) And (y in [1..m])) then WriteLn('C[', x, '][', y, ']=', ar[x, y]) else WriteLn('Индексы заданы неверно!'); end.
Объяснение кода листинга программы
- Создание переменных:
ar
- двумерный массив размером 6x5 для хранения элементов матрицыi
,j
,pos
,x
,y
,n
,m
- целочисленные переменныеsum
- переменная для хранения суммы элементов
- Ввод элементов матрицы и вывод матрицы
C
:- Инициализация переменной
n
со значением 5 - Инициализация переменной
m
со значениемn
- Последовательный ввод элементов матрицы в массив
ar
- Вывод матрицы
C
в консоль
- Инициализация переменной
- Вычисление суммы и количества положительных элементов на главной диагонали:
- Инициализация переменных
sum
иpos
со значениями 0 - Поиск положительных элементов на главной диагонали, подсчет их количества и суммирование
- Вывод количества положительных элементов и суммы элементов на главной диагонали
- Инициализация переменных
- Добавление дополнительной строки и вывод обновленной матрицы
C1
:- Ввод 5 элементов для дополнительной строки и добавление её к матрице
- Вывод обновленной матрицы
C1
в консоль
- Поиск и вывод элемента матрицы по заданным индексам:
- Ввод индексов x и y и проверка их корректности
- Вывод найденного элемента матрицы
C[x][y]
или сообщение о неверных индексах.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д