#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;
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; // Пространство имён
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; // Выводим ответ
Если что-то непонятно или не работает - спрашивайте.
#include <stdlib.h>
#define M 4
#define N 4
int A[M][N]; // произвольная матрица
int i, j, indx = -1;
// Автоматически заполняем матрицу ,
// находим индекс второго отрицательного элемента ,
// выводим матрицу на экран
srand((unsigned)time(NULL));
printf("Matrix: \n");
for (i = 0; i < M; i++)
for (j = 0; j < N; j++)
A[i][j] = (rand() % 201) - 100;
printf("%5d ", A[i][j]);
if ((A[i][j] < 0)&&(indx<0))
indx--;
if (indx == -3) indx = i * M + j;
printf("\n");
// Сортировка по убыванию элементов, расположенных
// после второго отрицательного числа
for (i = indx + 1; i < M * N - 1; i++)
indx = i;
for (j = i+1; j < M * N; j++)
if (A[0][j] > A[0][indx]) indx = j;
j = A[0][i];
A[0][i] = A[0][indx];
A[0][indx] = j;
// Вывод результата
printf("\nSort matrix: \n");
return 0;
#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; // Выводим ответ
}
Если что-то непонятно или не работает - спрашивайте.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define M 4
#define N 4
int main()
{
int A[M][N]; // произвольная матрица
int i, j, indx = -1;
// Автоматически заполняем матрицу ,
// находим индекс второго отрицательного элемента ,
// выводим матрицу на экран
srand((unsigned)time(NULL));
printf("Matrix: \n");
for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
{
A[i][j] = (rand() % 201) - 100;
printf("%5d ", A[i][j]);
if ((A[i][j] < 0)&&(indx<0))
{
indx--;
if (indx == -3) indx = i * M + j;
}
}
printf("\n");
}
// Сортировка по убыванию элементов, расположенных
// после второго отрицательного числа
for (i = indx + 1; i < M * N - 1; i++)
{
indx = i;
for (j = i+1; j < M * N; j++)
if (A[0][j] > A[0][indx]) indx = j;
j = A[0][i];
A[0][i] = A[0][indx];
A[0][indx] = j;
}
// Вывод результата
printf("\nSort matrix: \n");
for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
printf("%5d ", A[i][j]);
printf("\n");
}
return 0;
}