В зависимости от местоположения максимального элемента, домножить матрицу на 10 или сформировать массив - Pascal

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

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

дана вещественная матрица A(n*n). Если максимальный элемент матрицы находится на главной диагонали или выше её то все элементы матрицы домножить на 10. в противном случае получить одномерную матрицу

Решение задачи: «В зависимости от местоположения максимального элемента, домножить матрицу на 10 или сформировать массив»

textual
Листинг программы
const n = 6;
var a: array[1..n, 1..n] of real;
    b: array[1..n*n] of real;
    i, j, imax, jmax: integer;
begin
  randomize;
  imax := 1;
  jmax := 1;
  writeln('Исходная матрица:');
  for i := 1 to n do
    begin
      for j := 1 to n do
        begin
          a[i, j] := 198 * random - 99;
          write(a[i, j]:10:4);
          if a[imax, jmax] < a[i, j]
            then begin
              imax := i;
              jmax := j
            end
        end;
      writeln
    end;
  writeln('Максимальный элемент матрицы: A[', imax, ', ', jmax, '] = ', a[imax, jmax]:0:4);
  if jmax >= imax
    then begin
      if imax = jmax
        then writeln('Максимальный элемент матрицы находится на главной диагонали')
        else writeln('Максимальный элемент матрицы находится выше главной диагонали');
      writeln('Все элементы матрицы умножены на 10:');
      for i := 1 to n do
        begin
          for j := 1 to n do
            begin
              a[i, j] := a[i, j] * 10;
              write(a[i, j]:10:3)
            end;
          writeln
        end
    end
    else begin
      writeln('Максимальный элемент матрицы находится ниже главной диагонали');
      for i := 1 to n do
        for j := 1 to n do
          b[(i - 1) * n + j] := a[i, j];
      writeln('Одномерный массив:');
      for i := 1 to n * n do write(b[i]:10:4)
    end;
  readln
end.

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

  1. Объявление переменных:
    • n - константа, равная 6.
    • a - двумерный массив размером n x n для хранения вещественных чисел.
    • b - одномерный массив размером n * n для хранения вещественных чисел.
    • i, j, imax, jmax - целочисленные переменные.
  2. Инициализация матрицы:
    • Выполняется инициализация матрицы a случайными вещественными числами в диапазоне от -99 до 99.
  3. Поиск максимального элемента:
    • Происходит обход всех элементов матрицы a с целью найти максимальный элемент.
    • Для каждого элемента матрицы проверяется, является ли он максимальным. Если находится новый максимальный элемент, его индексы запоминаются.
  4. Вывод информации о максимальном элементе:
    • Выводится информация о максимальном элементе матрицы (его значение и индексы).
    • Определяется местоположение максимального элемента относительно главной диагонали матрицы.
  5. Умножение всех элементов матрицы на 10:
    • Если максимальный элемент находится на главной или выше диагонали, все элементы матрицы умножаются на 10.
    • Если максимальный элемент находится ниже диагонали, матрица a преобразуется в одномерный массив b.
  6. Вывод результата:
    • Выводится преобразованная матрица (если максимальный элемент находится на или выше диагонали) или одномерный массив b (если максимальный элемент находится ниже диагонали).
  7. Ожидание ввода пользователя.

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


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

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

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