Паскаль Напишите программу, которая заполняет квадратную матрицу случайными числами в интервале [10,99],...

Тематика Информатика
Уровень 10 - 11 классы
Паскаль программирование квадратная матрица случайные числа максимальный элемент минимальный элемент индексы элементов
0

Паскаль Напишите программу, которая заполняет квадратную матрицу случайными числами в интервале [10,99], и находит максимальный и минимальный элементы в матрице и их индексы

avatar
задан месяц назад

3 Ответа

0

program MaxMinMatrix;

const
  N = 5; // размерность квадратной матрицы

type
  Matrix = array[1.N, 1.N] of integer;

var
  A: Matrix;
  i, j, maxElem, minElem, maxI, maxJ, minI, minJ: integer;

begin
  randomize;

  // заполняем матрицу случайными числами
  for i := 1 to N do
    for j := 1 to N do
      A[i, j] := random(90) + 10; // случайное число в интервале [10,99]

  // находим максимальный и минимальный элементы в матрице и их индексы
  maxElem := A[1, 1];
  minElem := A[1, 1];
  maxI := 1;
  maxJ := 1;
  minI := 1;
  minJ := 1;

  for i := 1 to N do
    for j := 1 to N do
    begin
      if A[i, j] > maxElem then
      begin
        maxElem := A[i, j];
        maxI := i;
        maxJ := j;
      end;
      
      if A[i, j] < minElem then
      begin
        minElem := A[i, j];
        minI := i;
        minJ := j;
      end;
    end;

  // выводим результаты
  writeln('Максимальный элемент: ', maxElem, ' индексы: (', maxI, ', ', maxJ, ')');
  writeln('Минимальный элемент: ', minElem, ' индексы: (', minI, ', ', minJ, ')');
end.

avatar
ответил месяц назад
0

Для решения данной задачи воспользуемся языком программирования Pascal. Ниже представлен код программы:

program MaxMinMatrix;

const
  N = 5; // размер квадратной матрицы

var
  matrix: array[1.N, 1.N] of integer;
  i, j, maxElement, minElement, maxI, maxJ, minI, minJ: integer;

begin
  // заполняем матрицу случайными числами в интервале [10,99]
  Randomize;
  for i := 1 to N do
    for j := 1 to N do
      matrix[i, j] := Random(90) + 10;

  // выводим матрицу на экран
  writeln('Матрица:');
  for i := 1 to N do
  begin
    for j := 1 to N do
      write(matrix[i, j]:4);
    writeln;
  end;

  // находим максимальный элемент и его индексы
  maxElement := matrix[1, 1];
  maxI := 1;
  maxJ := 1;
  for i := 1 to N do
    for j := 1 to N do
      if matrix[i, j] > maxElement then
      begin
        maxElement := matrix[i, j];
        maxI := i;
        maxJ := j;
      end;

  // находим минимальный элемент и его индексы
  minElement := matrix[1, 1];
  minI := 1;
  minJ := 1;
  for i := 1 to N do
    for j := 1 to N do
      if matrix[i, j] < minElement then
      begin
        minElement := matrix[i, j];
        minI := i;
        minJ := j;
      end;

  // выводим результаты
  writeln('Максимальный элемент: ', maxElement, ' с индексами [', maxI, ', ', maxJ, ']');
  writeln('Минимальный элемент: ', minElement, ' с индексами [', minI, ', ', minJ, ']');
end.

Данная программа создает квадратную матрицу размером 5x5, заполняет ее случайными числами в интервале [10,99], находит максимальный и минимальный элементы в матрице, а также их индексы, и выводит результаты на экран.

avatar
ответил месяц назад
0

Конечно! Давайте подробно рассмотрим, как можно написать программу на языке программирования Pascal, которая выполняет указанные задачи.

Шаги решения задачи:

  1. Создание матрицы и ее заполнение:

    • Мы будем использовать двумерный массив для представления квадратной матрицы.
    • Заполним этот массив случайными числами в диапазоне от 10 до 99.
  2. Поиск максимального и минимального элементов:

    • Пройдем по всем элементам матрицы, чтобы найти максимальный и минимальный элементы и запомнить их индексы.
  3. Вывод результатов:

    • Выведем на экран матрицу, а также найденные максимальный и минимальный элементы вместе с их индексами.

Программа на Pascal:

program MatrixMinMax;

uses
  SysUtils;

const
  N = 5; // размер матрицы, можно изменить на нужное значение

var
  matrix: array[1.N, 1.N] of Integer;
  i, j: Integer;
  minElement, maxElement: Integer;
  minIndex, maxIndex: record
    row, col: Integer;
  end;

begin
  Randomize;
  
  // Заполнение матрицы случайными числами и вывод
  WriteLn('Матрица:');
  for i := 1 to N do
  begin
    for j := 1 to N do
    begin
      matrix[i, j] := Random(90) + 10; // случайное число в диапазоне [10, 99]
      Write(matrix[i, j]:4);
    end;
    WriteLn;
  end;

  // Инициализация начальных значений для поиска
  minElement := matrix[1, 1];
  maxElement := matrix[1, 1];
  minIndex.row := 1;
  minIndex.col := 1;
  maxIndex.row := 1;
  maxIndex.col := 1;

  // Поиск максимального и минимального элементов и их индексов
  for i := 1 to N do
  begin
    for j := 1 to N do
    begin
      if matrix[i, j] < minElement then
      begin
        minElement := matrix[i, j];
        minIndex.row := i;
        minIndex.col := j;
      end;
      if matrix[i, j] > maxElement then
      begin
        maxElement := matrix[i, j];
        maxIndex.row := i;
        maxIndex.col := j;
      end;
    end;
  end;

  // Вывод результатов
  WriteLn('Минимальный элемент: ', minElement, ' (индексы: [', minIndex.row, ', ', minIndex.col, '])');
  WriteLn('Максимальный элемент: ', maxElement, ' (индексы: [', maxIndex.row, ', ', maxIndex.col, '])');
end.

Пояснения к коду:

  • Randomize: Этот вызов инициализирует генератор случайных чисел, используя текущее время. Это гарантирует, что каждый запуск программы будет генерировать разные случайные числа.

  • Random(90) + 10: Функция Random(90) генерирует случайное число от 0 до 89. Чтобы привести его в диапазон от 10 до 99, мы добавляем 10.

  • Структура record: Используется для хранения индексов (строка и столбец) минимального и максимального элементов в матрице.

  • Поиск минимального и максимального: Мы инициализируем минимальный и максимальный элементы первым элементом матрицы, а затем обходим все элементы, обновляя значения и индексы при нахождении нового минимума или максимума.

Этот код заполняет матрицу случайными числами, находит и выводит минимальный и максимальный элементы вместе с их индексами. Программу можно легко адаптировать для работы с матрицей другого размера, изменив значение переменной N.

avatar
ответил месяц назад

Ваш ответ

Вопросы по теме