Найдите произведение положительных элементов первой строки массива - 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.

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


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

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

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