Заданная матрица А размерности 3 х 5. Найти квадрат разницы количества положительных и отрицательных элементов - Pascal ABC
Формулировка задачи:
Заданная матрица А размерности 3 х 5. Найти квадрат разницы количества положительных и отрицательных элементов матрицы.
Решение задачи: «Заданная матрица А размерности 3 х 5. Найти квадрат разницы количества положительных и отрицательных элементов»
textual
Листинг программы
program pr;
const
n = 3;
m = 5;
type
arr = array [1..n, 1..m] of integer;
var
i, j, r: integer;
a: arr;
function razn(x: arr; const n, m: integer): longint;
var
i, j, couto, coutp, ra: integer;
begin
couto := 0;
coutp := 0;
for i := 1 to n do
for j := 1 to m do
if x[i, j] < 0 then couto := couto + 1
else if x[i, j] > 0 then coutp := coutp + 1;
ra := coutp - couto;
razn := ra * ra;
end;
begin
for i := 1 to n do
for j := 1 to m do
a[i, j] := random(21) - 10;
for i := 1 to n do
begin
for j := 1 to m do
write(a[i, j]:3);
writeln;
end;
r := razn(a, n, m);
writeln('Квадрат разницы количества положительных и отрицательных элементов матрицы: ', r);
end.
Объяснение кода листинга программы
- Создается программа на языке Pascal ABC.
- В программе объявляются константы n и m, которые определяют размерность матрицы (в данном случае 3х5).
- Создается тип данных arr, который представляет собой массив целых чисел размером nхm.
- Объявляются переменные i, j, r типа integer, которые будут использоваться для итерации по матрице и подсчета количества положительных и отрицательных элементов.
- Объявляется переменная a типа arr, которая будет представлять собой заданную матрицу.
- В функции razn(x:arr; const n, m:integer):longint; используются две вспомогательные переменные couto и coutp типа integer. Изначально обе переменные устанавливаются в 0.
- В цикле for i := 1 до n выполняется итерация по строкам матрицы.
- В цикле for j := 1 до m выполняется итерация по столбцам матрицы.
- Внутри цикла проверяется значение элемента x[i, j]. Если элемент меньше нуля, то переменная couto увеличивается на 1. Если элемент больше нуля, то переменная coutp увеличивается на 1.
- После завершения циклов переменная ra устанавливается равной разнице переменных coutp и couto.
- Функция razn заканчивает работу и возвращает значение переменной ra.
- В основной части программы выполняется инициализация матрицы a с помощью функции random(21) - 10;.
- Выполняется цикл for i := 1 до n, внутри которого выполняется цикл for j := 1 до m. В каждой ячейке матрицы выводится значение a[i, j] с помощью функции write(a[i, j]:3);.
- После завершения циклов выводится значение переменной r, которое является результатом работы функции razn(a, n, m).
- Программа завершается.