• Предмет: Информатика
  • Автор: mashaalal13
  • Вопрос задан 2 года назад

С++ Дана целочисленная прямоугольная матрица. Определить максимальное из чисел, встречающихся в заданной матрице более одного раза.
Напишите код, пожалуйста. НЕ ИСПОЛЬЗУЯ динамический массив, если это возможно!


Koljisto: Да и без динамического можно, только лишь будет статический и всё
mashaalal13: Я знаю. Мне просто нужно знать сам принцип выполнения этого задания. Матрицу заполнить я и сама могу, а вот второй пункт не знаю(

Ответы

Ответ дал: lexa23072003
3

Ответ: перебор всегда работает но возможно не рационален

int main()

{

SetConsoleCP(1251);// установка кодовой страницы win-cp 1251 в поток ввода

SetConsoleOutputCP(1251); // установка кодовой страницы win-cp 1251 в поток вывода

setlocale(LC_ALL, "Russian");

int mass[4][5];

int max = 0;

int count = 0;

for (int i = 0; i < 3; i++)

{

 for (int j = 0; j < 4; j++)

 {

  mass[i][j] = rand() % 5;

  cout << mass[i][j] << " ";

 }

 cout << endl;

}

for (int i1 = 0; i1 < 3; i1++)

{

 for (int j1 = 0; j1 < 4; j1++)

 {

  for (int i = 0; i < 3; i++)

  {

   for (int j = 0; j < 4; j++)

   {

    if (mass[i1][j1] == mass[i][j])

    {

        count++;

    }

   }

   if ((count > 1) && (mass[i1][j1] >= max))

   {

    max = mass[i1][j1];

   }

   count = 0;

  }

 }

}

cout << endl << max;


lexa23072003: методом чистого перебора можно проверить все
Вас заинтересует