Заданная матрица А размерности 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).
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д