Найдите произведение положительных элементов первой строки массива - Turbo Pascal
Формулировка задачи:
Прошу помочь с решением двух задач, т.к. полностью не могу написать ни одну из этих программ!!!
Указание: для каждой задачи создайте алгоритм и программу. Заполните двумерный
числовой массив Н(5,5) случайными целыми числами в интервале [-70; 70]. Выведите
значения элементов массива в виде матрицы, причём на каждый элемент отведите 4
позиции. Ответ каждой задачи следует выводить с новой строки и с пояснительным
текстом. Кроме того, следует каждый раз производить вывод массива на экран, если в
нём произошли изменения: перестановка, замена, изменение значения элементов и т.д.
Задача 10.1.
Найдите произведение положительных элементов первой строки массива.
Решение задачи: «Найдите произведение положительных элементов первой строки массива»
textual
Листинг программы
program MasH; uses crt; //объявление переменных var i, j: integer; //счётчики m: integer; //перепменная для вычисления произведения H: array [1..5, 1..5] of integer; //собственно массив H[5, 5] begin //заполнение массива случайными числами из диапазона [-70..70] //и вывод его на экран randomize; writeln('Source array H[5, 5]:'); //печать пояснения: Входной массив H[5, 5]: for j := 1 to 5 do begin for i := 1 to 5 do begin H[i, j] := random(141) - 70; //присвоили значение очередному элементу write(H[i, j]:4); //под печать одного элемента - 4 позиции end; writeln; //напечатали одну строку, перешли на следующую end; writeln; //печатаем пустую строку (разделитель) //находим произведение положительных элементов первой строки массива m := 1; //начальное значение произведения j := 0; //счётчик найденных элементов for i := 1 to 5 do if H[i, 1] > 0 then begin m := m * H[i, 1]; j := j + 1; end; if j = 0 then writeln('No positive elements in row 1 of array H') //если нет else //или если есть положительные элементы begin writeln('Positive elements in row 1 of array H: ', j); writeln('Product of positive elements in row 1 of array H: ', m); end; writeln; //печатаем пустую строку (разделитель) //заменяем отрицательные элементы в нечётных столбцах на ЧИСЛО 100 //и печатаем получившийся массив writeln('Replace negative elements in odd columns of array H on number 100.'); writeln('Resultant array H:'); writeln; for j := 1 to 5 do begin for i := 1 to 5 do begin if odd(i) and (H[i, j] < 0) then H[i, j] := 100; //нахождение и замена write(H[i, j]:4); //под печать одного элемента - 4 позиции end; writeln; //напечатали одну строку, перешли на следующую end; writeln; //печатаем пустую строку (разделитель) //ждём реакции пользователя для закрытия программы write('Press <Enter> to exit'); readln; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д