Дан массив А(n, m). Строку, содержащую максимальный элемент, поменять местами со строкой, содержащей минимальный элемент.
Дан массив А(n, m). Строку, содержащую максимальный элемент, поменять местами со строкой, содержащей минимальный элемент.
Ответ(ы) на вопрос:
Гость
В C++
#include
#include
int main()
{
const int n = 5;
const int m = 3;
int A[n][m];
for (int i = 0; i < n; i++) //заполняем как-нибудь массив
for (int j = 0; j < m; j++)
A[i][j] = (i - 3) * (j + 3);
for (int i = 0; i < n; i++) //выведем исходную матрицу на экран
{
for (int j = 0; j < m; j++)
std::cout << std::setw(4) << A[i][j];
std::cout << '\n';
}
int maxEl = A[0][0];
int indexMax = 0;
for (int i = 0; i < n; i++) //найдем максимальный элемент
{
for (int j = 0; j < m; j++)
if (A[i][j] > maxEl)
{
maxEl = A[i][j];
indexMax = i; //номер строки с максимальным элементом
}
}
int minEl = A[0][0];
int indexMin = 0;
for (int i = 0; i < n; i++) //найдем минимальный элемент
{
for (int j = 0; j < m; j++)
if (A[i][j] < minEl)
{
minEl = A[i][j];
indexMin = i; //номер строки с минимальным элементом
}
}
for (int j = 0; j < m; j++) //меняем строки
{
int temp;
temp = A[indexMax][j];
A[indexMax][j] = A[indexMin][j];
A[indexMin][j] = temp;
}
std::cout << "\n\n";
for (int i = 0; i < n; i++) //выведем полученную матрицу на экран
{
for (int j = 0; j < m; j++)
std::cout << std::setw(4) << A[i][j];
std::cout << '\n';
}
return 0;
}
Не нашли ответ?
Похожие вопросы