Выполнить заданные операции над матрицей - 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]или сообщение о неверных индексах.