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

Ответы на вопрос

Ответ:
#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; // Выводим ответ
}



Конечно, вот пример программы на C++, который выполняет указанные действия:
cpp#include <iostream>
#include <ctime>
#include <cstdlib>
const int MATRIX_SIZE = 5; // Размер квадратной матрицы
int main() {
// Инициализация генератора случайных чисел
std::srand(static_cast<unsigned int>(std::time(nullptr)));
// Создание и заполнение матрицы случайными числами
int matrix[MATRIX_SIZE][MATRIX_SIZE];
for (int i = 0; i < MATRIX_SIZE; ++i) {
for (int j = 0; j < MATRIX_SIZE; ++j) {
matrix[i][j] = std::rand() % 90 + 10; // Генерация случайного числа в диапазоне [10, 99]
}
}
// Нахождение максимального и минимального элементов и их индексов
int maxElement = matrix[0][0];
int minElement = matrix[0][0];
int maxRow = 0, maxCol = 0;
int minRow = 0, minCol = 0;
for (int i = 0; i < MATRIX_SIZE; ++i) {
for (int j = 0; j < MATRIX_SIZE; ++j) {
if (matrix[i][j] > maxElement) {
maxElement = matrix[i][j];
maxRow = i;
maxCol = j;
}
if (matrix[i][j] < minElement) {
minElement = matrix[i][j];
minRow = i;
minCol = j;
}
}
}
// Вывод результатов
std::cout << "Сгенерированная матрица:" << std::endl;
for (int i = 0; i < MATRIX_SIZE; ++i) {
for (int j = 0; j < MATRIX_SIZE; ++j) {
std::cout << matrix[i][j] << '\t';
}
std::cout << std::endl;
}
std::cout << "Максимальный элемент: " << maxElement << " (индексы: " << maxRow << ", " << maxCol << ")" << std::endl;
std::cout << "Минимальный элемент: " << minElement << " (индексы: " << minRow << ", " << minCol << ")" << std::endl;
return 0;
}
Примечание: В этом примере предполагается, что вы работаете с квадратной матрицей размером 5x5 (задано константой MATRIX_SIZE
). Вы можете изменить значение MATRIX_SIZE
в соответствии с вашими потребностями.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili