c++ Как найти максимальный элемент матрицы и поменять его с последней строчкой матрицы. Не могу никак понять. Объясните пожалуйста

только не понимаю как это сделать

если матрица не квадратная, то не получится. Нужно сравнивать элементы столбцов на максимум. и записывать из в последнюю сторку. Т.К. количество столбцов в матрице будет равно количеству элементов в последней строке. Правильно?

Само условие - Найти максимальный элемент матрицы. Строку, содержащую<br />максимальный элемент, поменять с последней строкой матрицы.

понятно

поможете ?

Ответ
0 (0 оценок)
0
mirageKZ 3 года назад
Светило науки - 635 ответов - 0 раз оказано помощи

Ответ:

Условие  - Найти максимальный элемент матрицы. Строку, содержащую

максимальный элемент, поменять с последней строкой матрицы.

Нумерация в матрице начинается с 0.

С++ на Code Blocks 16

Объяснение:

#include <iostream>

#include <time.h>

using namespace std;

int main()

{

   int  n = 8; // можно ввести любую размерность квадратной матрицы

   int a[n][n];

   int Nmax, Nind, i, j = 0 ;

   int d;

// Заполним матрицу случайными числами в диапазоне [0 ,100)

// и сразу её выведем

   cout << " ---- Array in start ---- " << endl;

   srand(time(0));

   for (int i = 0; i < n; i++) {

       for (int j = 0; j < n; j++) {

           a[i][j] = rand()%111;

           cout <<a[i][j] ;

           cout<< "    ";

       }

       cout << "  " << endl;

   }

// Поиск максимального элемента матрицы. Для оптимизации, можно было это произвести на этапе заполнения матрицы

// но для наглядности, напишем отдельно

   Nmax = 1;

   for (int i = 0; i < n; i++) {

       for (int j = 0; j < n; j++){

           if (Nmax < a[i][j]) {

             Nmax = a[i][j];

             Nind = i;

           }

       }

   }

   cout<< "Max ["<< Nind<<"] = "<< Nmax << endl;

// Меняем строки местами

   for (int j = 0; j < n; j++) {

         d = a[n-1][j];

         a[n-1][j]=a[Nind][j];

         a[Nind][j] = d;

    }

   cout << " ---- Array after modify ---- " << endl;

// Выводим полученную матрицу

   for (int i = 0; i < n; i++) {

     for (int j = 0; j < n; j++){

       cout << a[i][j] ;

       cout<< "    ";

     }

     cout << "  " << endl;

   }

   return 0;

}

Остались вопросы?