Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Дана целочисленная квадратная матрица. Определить: 1. Сумму элементов в тех столбцах, которые не содержат отрицательных эле¬ментов (оформить в виде функции). 2. Минимум среди сумм модулей элементов диагоналей, параллельных побоч¬ной диагонали матрицы (оформить в виде процедуры). В паскаль Помогите пожалуйста

Решение задачи: «Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов»

textual
Листинг программы
const n = 10;
type  int = 1..n;
      matrix = array[int, int] of integer;
var i, j, k, sizemas : byte;
    mas              : matrix;
    
Function Sum(massiv:matrix; cl:byte) : integer;
         var s : integer;
         Begin
              s:= 0;
              for i:= 1 to sizemas do
                  s:= s + mas[i, cl];
              sum:= s;
         End;
 
BEGIN
     Randomize;
     WriteLn('Введите размер матрицы, меньше ', n, ': ');
     ReadLn(sizemas);
     for i:= 1 to sizemas do
         for j:= 1 to sizemas do
             mas[i, j]:= Random(20)-5;
     for i:= 1 to sizemas do
     begin
         for j:= 1 to sizemas do
             Write(mas[i, j]:4);
         WriteLn;
     end;
     for j:= 1 to sizemas do
     begin
          k:= 0;
         for i:= 1 to sizemas do
             if (mas[i, j] >= 0) then k:= k + 1
             else
                 begin
                      k:= 0;
                      break;
                 end;
         if k = sizemas then
            WriteLn('Сумма элементов ', j, ' столбца = ', Sum(mas, j));
     end;
END.

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

  1. В начале кода объявляются переменные n, тип int, переменная matrix и три переменные типа byte: i, j и k.
  2. Затем объявляется переменная sizemas, которая будет хранить размер матрицы.
  3. Запускается цикл Randomize, который инициализирует генератор случайных чисел.
  4. Пользователю предлагается ввести размер матрицы.
  5. В цикле for i:= 1 до sizemas происходит инициализация каждой ячейки матрицы mas[i, j] случайным числом от 0 до 19.
  6. После этого выводится содержимое каждой ячейки матрицы.
  7. Затем запускается цикл for j:= 1 до sizemas.
  8. Внутри этого цикла переменная k инициализируется значением 0.
  9. В цикле for i:= 1 до sizemas происходит проверка каждого элемента матрицы на положительность.
  10. Если элемент положительный, то к переменной k прибавляется единица.
  11. Если элемент отрицательный, то переменные i и j сбрасываются в начало цикла, и цикл прерывается командой break.
  12. После завершения внутреннего цикла проверяется значение переменной k.
  13. Если k равно размеру матрицы, то выводится сумма элементов текущего столбца.
  14. Конец программы.

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


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

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

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