Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов - 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.
Объяснение кода листинга программы
- В начале кода объявляются переменные n, тип int, переменная matrix и три переменные типа byte: i, j и k.
- Затем объявляется переменная sizemas, которая будет хранить размер матрицы.
- Запускается цикл Randomize, который инициализирует генератор случайных чисел.
- Пользователю предлагается ввести размер матрицы.
- В цикле for i:= 1 до sizemas происходит инициализация каждой ячейки матрицы mas[i, j] случайным числом от 0 до 19.
- После этого выводится содержимое каждой ячейки матрицы.
- Затем запускается цикл for j:= 1 до sizemas.
- Внутри этого цикла переменная k инициализируется значением 0.
- В цикле for i:= 1 до sizemas происходит проверка каждого элемента матрицы на положительность.
- Если элемент положительный, то к переменной k прибавляется единица.
- Если элемент отрицательный, то переменные i и j сбрасываются в начало цикла, и цикл прерывается командой break.
- После завершения внутреннего цикла проверяется значение переменной k.
- Если k равно размеру матрицы, то выводится сумма элементов текущего столбца.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д