Дан массив А(n, m). Строку, содержащую максимальный элемент, поменять местами со строкой,...

0 голосов
68 просмотров

Дан массив А(n, m). Строку, содержащую максимальный элемент, поменять местами со строкой, содержащей минимальный элемент.


Информатика (19 баллов) | 68 просмотров
Дан 1 ответ
0 голосов

В 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];<br>        std::cout << '\n';<br>    }

    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";<br>    for (int i = 0; i < n; i++)     //выведем полученную матрицу на экран
    {
        for (int j = 0; j < m; j++)
            std::cout << std::setw(4) << A[i][j];<br>        std::cout << '\n';<br>    }

    return 0;
}

(1.1k баллов)