Учеба и наука

написать программу на С++. Дана матрица B[N,M]. найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно. - вопрос №1950458

если можно то расписать каждую строчку

Вопрос задан анонимно май 11, 2016 г.

  • Всего ответов: 1

  • Вилия - аватарка

    Вилия

    14-й в

    template <class T>
    inline void Swap(T &a, T &b)
    {
    T t = a;
    a = b;
    b = t;
    }

    #define M 6
    #define N 6

    int main2()
    {
    int B[ M ][ N ];
    for (int i = 0; i < M; i++)
    {
    for (int j = 0; j < N; j++)
    {
    B[ i ][ j ] = rand();
    TRACE(_T("% 5d, "), B[ i ][ j ]);
    }
    TRACE(_T("\n"));
    }

    for (int i = 0; i < M; i++)
    {
    int nMin = 0, nMax = 0;
    for (int j = 1; j < N; j++)
    {
    if (B[ i ][ j ] < B[ i ][ nMin ])
    {
    nMin = j;
    }

    if (B[ i ][ j ] > B[ i ][ nMax ])
    {
    nMax = j;
    }
    }

    if (nMin != 0)
    {
    Swap<int>(B[ i ][ 0 ], B[ i ][ nMin ]);
    }

    if (nMax != N — 1)
    {
    if (nMax == 0)
    {
    Swap<int>(B[ i ][ N-1 ], B[ i ][ nMin ]);
    }
    else
    {
    Swap<int>(B[ i ][ N-1 ], B[ i ][ nMax ]);
    }
    }
    }

    TRACE(_T("\n"));
    for (int i = 0; i < M; i++)
    {
    for (int j = 0; j < N; j++)
    {
    TRACE(_T("% 5d, "), B[ i ][ j ]);
    }
    TRACE(_T("\n"));
    }

    return 0;
    }

    октябрь 13, 2016 г.