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

pivovarchik077 pivovarchik077    2   15.11.2020 15:51    4

Ответы
LEXUS2705 LEXUS2705  15.12.2020 15:53

#include <iostream>

#include <time.h>

#include <stdio.h>

using namespace std;

int main()

{

   srand(time(NULL));

   int mas[100][100] = {};

   int side;

   cout << "Введите размер стороны квадратной матрицы: ";

   cin >> side;

   for (int i = 0; i < side; i++)

   {

       for (int j = 0; j < side; j++)

       {

           mas[i][j] = 10 + rand() % (99 - 10 + 1);

           cout << mas[i][j] << " ";

       }

       cout << endl;

   }

   int max = mas[0][0];

   int max_ind_i = 0;

   int max_ind_j = 0;

   int min = mas[0][0];

   int min_ind_i = 0;

   int min_ind_j = 0;

   for (int i = 0; i < side; i++)

   {

       for (int j = 0; j < side; j++)

       {

           if (max < mas[i][j])

           {

               max = mas[i][j];

               max_ind_i = i;

               max_ind_j = j;

           }

           if (min > mas[i][j])

           {

               min = mas[i][j];

               min_ind_i = i;

               min_ind_j = j;

           }

       }

   }

   cout << "Максимум: " << max << " \nИндексы: " << max_ind_i << " " << max_ind_j << "\nМинимум: " << min << " \nИндексы: " << min_ind_i << " " << min_ind_j;

}

Объяснение:

Максимальный размер массива - 100 на 100

#include <iostream> // Библиотека ввода - вывода

#include <time.h> // Библиотека для работы со временем

#include <stdio.h> // Библиотека, содержащая функцию рандома

using namespace std; // Пространство имён

int main()

{

   srand(time(NULL)); // При каждом запуске программы будут новые псевдослучайные числа

   int mas[100][100] = {}; // Двумерный массив 100 на 100, заполненный нулями

   int side; // Переменная, хранящая сторону квадратной матрицы

   cout << "Введите размер стороны квадратной матрицы: "; // Вывод сообщения в консоль

   cin >> side; // Вводим сторону матрицы с клавиатуры

   for (int i = 0; i < side; i++) // Цикл для заполнения и вывода массива

   {

       for (int j = 0; j < side; j++) // Цикл для заполнения и вывода массива

       {

           mas[i][j] = 10 + rand() % (99 - 10 + 1); // Заполнение двумерного массива псевдослучайными числами в диапазоне [10, 99]

Формула: a + rand() % ( b - a + 1)

           cout << mas[i][j] << " "; // Выводим элемент массива

       }

       cout << endl; // Переносим на следующую строку (для красивого вывода)

   }

   int max = mas[0][0]; // Максимум = первому элементу массива

   int max_ind_i = 0; // Индекс max  i = 0

   int max_ind_j = 0; // Индекс max j = 0

   int min = mas[0][0]; // Минимум = первому элементу массива

   int min_ind_i = 0; // Индекс min i = 0

   int min_ind_j = 0; // Индекс min j = 0

   for (int i = 0; i < side; i++) // Цикл для прохода по всем элементам массива

   {

       for (int j = 0; j < side; j++) // Цикл для прохода по всем элементам массива

       {

           if (max < mas[i][j]) // Ищем максимум в массиве

           {

               max = mas[i][j]; // Присваиваем переменной max значение, которое оказалось больше ее

               max_ind_i = i; // Запоминаем индекс

               max_ind_j = j; // Запоминаем индекс

           }

           if (min > mas[i][j]) // Ищем минимум в массиве

           {

               min = mas[i][j]; // Присваиваем переменной min значение, которое оказалось меньше ее

               min_ind_i = i; // Запоминаем индекс

               min_ind_j = j; // Запоминаем индекс

           }

       }

   }

   cout << "Максимум: " << max << " \nИндексы: " << max_ind_i << " " << max_ind_j << "\nМинимум: " << min << " \nИндексы: " << min_ind_i << " " << min_ind_j; // Выводим ответ

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика