Вопрос задан 11.04.2021 в 10:42. Предмет Информатика. Спрашивает Пономарёв Андрей.

Программа С++ Задан числовой массив А[1:m, 1:n]. Составить программу поиска элемента массива,

который является одновременно наименьшим в строке и наибольшим в своем столбце. Вывести номер столбца и строки, если такой элемент есть и 0 если нет.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Козлов Артём.

#include <iostream>

#include <cstdlib>

using namespace std;

int main(){

   int a[n][m];

   int minA[m];

   int min;

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

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

           a[i][j] = rand()% 50 - 10;

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

       }

   cout<<endl;

   }

   cout <<"Min:"<<endl;

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

       min = 9999;

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

           if((a[i][j] > 0) && (a[i][j] < min))

               min = a[i][j];

       }

       minA[j] = min;

       cout<<minA[j]<<" ";

   }

   int max = minA[0];

       for(int j = 1; j < m; j++){

           if(max < minA[j])

               max = minA[j];

       }

   cout<<endl<<"Max = "<<max;

return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи можно использовать следующий алгоритм:

  1. Объявить массив А[1:m, 1:n] и заполнить его случайными числами.
  2. Объявить переменные для хранения номера строки и столбца найденного элемента, а также для хранения значения элемента.
  3. Найти элемент массива, который является наименьшим в своей строке.
  4. Для каждого столбца проверить найденный элемент на то, является ли он наибольшим в столбце. Если да, то запомнить номер столбца.
  5. Если элемент был найден, вывести номер строки и столбца, иначе вывести 0.

Вот как может выглядеть реализация данного алгоритма на языке C++:

c++
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; const int MAX_SIZE = 100; int main() { int A[MAX_SIZE][MAX_SIZE]; int m, n; int row, col, value; bool found = false; srand(time(NULL)); cout << "Enter number of rows (m <= " << MAX_SIZE << "): "; cin >> m; cout << "Enter number of columns (n <= " << MAX_SIZE << "): "; cin >> n; // Заполнение массива случайными числами for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { A[i][j] = rand() % 100; cout << A[i][j] << " "; } cout << endl; } // Поиск элемента for (int i = 0; i < m; i++) { int min_in_row = A[i][0]; int col_max = 0; for (int j = 1; j < n; j++) { if (A[i][j] < min_in_row) { min_in_row = A[i][j]; } } for (int j = 0; j < n; j++) { if (A[i][j] == min_in_row) { bool is_max_in_col = true; for (int k = 0; k < m; k++) { if (A[k][j] > min_in_row) { is_max_in_col = false; break; } } if (is_max_in_col) { found = true; row = i + 1; col = j + 1; value = min_in_row; break; } } } if (found) { break; } } // Вывод результата if (found) { cout << "Found value: " << value << endl; cout << "Row: " << row << endl; cout << "Column: " << col << endl; } else { cout << "Value not found" << endl; } return 0; }

Здесь используется функция rand() из библиотеки <cstdlib>, чтобы заполнить массив случайными числами. Для ген

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос