Получить новый массив путем деления всех элементов данного массива на ее больший по модулю элемент. - Turbo Pascal

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

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

4. Дан действительный массив размерностью n*m, в которой не все элементы равны нулю. Получить новый массив путем деления всех элементов данного массива на ее больший по модулю элемент.

Решение задачи: «Получить новый массив путем деления всех элементов данного массива на ее больший по модулю элемент.»

textual
Листинг программы
uses crt;
 
const m=10; n=5;
var a,b:array [1..m,1..n] of real;
i,j:integer;
max:real;
 
begin
   clrscr;
   Writeln('Исходная матрица: ');
   max:=0;
   For i:=1 to m do
   begin
      For j:=1 to n do
      begin
      randomize;
      a[i,j]:=random*50-20;
      write(a[i,j]:8:3);
      if abs(a[i,j])>max then max:=a[i,j];
      end;
   writeln;
   end;
   Writeln;
   Writeln('Новая матрица: ');
   For i:=1 to m do
   begin
      For j:=1 to n do
      begin
      a[i,j]:=a[i,j]/max;
      write(a[i,j]:8:3);
      end;
   writeln;
   end;
   readkey;
end.

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

  1. В начале кода подключается библиотека crt, которая необходима для работы с функцией randomize.
  2. Затем определяются две константы m и n, которые задают размеры исходной и новой матрицы соответственно.
  3. Далее объявляются переменные a, b, i и j. Переменная a представляет собой матрицу размером m x n, в которой будут храниться значения новой матрицы. Переменная b используется для хранения результата деления элементов матрицы на максимальное значение.
  4. После этого выполняется инициализация переменной max, которая будет хранить максимальное значение из элементов матрицы.
  5. Затем начинается цикл, который проходит по каждому элементу исходной матрицы.
  6. Внутри первого цикла выполняется итерация по каждому элементу второго столбца исходной матрицы.
  7. Для каждого элемента второго столбца вызывается функция randomize, которая генерирует случайное число в диапазоне от -20 до 20.
  8. Полученное случайное число присваивается элементу матрицы a[i,j].
  9. Выводится значение элемента a[i,j] с помощью функции write.
  10. Если полученное случайное число больше текущего максимального значения, то обновляем значение переменной max.
  11. По завершении внутреннего цикла первого цикла выводится символ новой строки.
  12. Затем начинается второй цикл, который проходит по каждому элементу исходной матрицы.
  13. Внутри второго цикла выполняется итерация по каждому элементу первого столбца исходной матрицы.
  14. Для каждого элемента первого столбца вызывается функция randomize, которая генерирует случайное число в диапазоне от -20 до 20.
  15. Полученное случайное число присваивается элементу матрицы a[i,j].
  16. Выводится значение элемента a[i,j] с помощью функции write.
  17. Если полученное случайное число больше текущего максимального значения, то обновляем значение переменной max.
  18. По завершении внутреннего цикла второго цикл выводится символ новой строки.
  19. Завершается основной цикл с помощью функции readkey, которая позволяет пользователю ввести новую команду до тех пор, пока не будет введено некорректное значение.
  20. Конец программы.

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


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

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

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