Заданная матрица А размерности 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.

Объяснение кода листинга программы

  1. Создается программа на языке Pascal ABC.
  2. В программе объявляются константы n и m, которые определяют размерность матрицы (в данном случае 3х5).
  3. Создается тип данных arr, который представляет собой массив целых чисел размером nхm.
  4. Объявляются переменные i, j, r типа integer, которые будут использоваться для итерации по матрице и подсчета количества положительных и отрицательных элементов.
  5. Объявляется переменная a типа arr, которая будет представлять собой заданную матрицу.
  6. В функции razn(x:arr; const n, m:integer):longint; используются две вспомогательные переменные couto и coutp типа integer. Изначально обе переменные устанавливаются в 0.
  7. В цикле for i := 1 до n выполняется итерация по строкам матрицы.
  8. В цикле for j := 1 до m выполняется итерация по столбцам матрицы.
  9. Внутри цикла проверяется значение элемента x[i, j]. Если элемент меньше нуля, то переменная couto увеличивается на 1. Если элемент больше нуля, то переменная coutp увеличивается на 1.
  10. После завершения циклов переменная ra устанавливается равной разнице переменных coutp и couto.
  11. Функция razn заканчивает работу и возвращает значение переменной ra.
  12. В основной части программы выполняется инициализация матрицы a с помощью функции random(21) - 10;.
  13. Выполняется цикл for i := 1 до n, внутри которого выполняется цикл for j := 1 до m. В каждой ячейке матрицы выводится значение a[i, j] с помощью функции write(a[i, j]:3);.
  14. После завершения циклов выводится значение переменной r, которое является результатом работы функции razn(a, n, m).
  15. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы