Предмет: Информатика, автор: mikimouse9

Дан вещественный массив А[N][М], все элементы которого различны. В каждой строке найти элемент с наименьшим значением, а затем среди найденных элементов выбрать наибольший. Вывести на экран индексы этого элемента. Написать программу на с++

Ответы

Автор ответа: Wani4kaa
1

Код

#include <bits/stdc++.h>

using namespace std;

int main() {

   int n, m;

   cin >> n >> m;

   double a[n][m];

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

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

       cin >> a[i][j];

   int mxi = 0, mxj = 0;

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

     int mnj = 0;

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

       if (a[i][j] < a[i][mnj]) mnj = j;

     if (a[i][mnj] > a[mxi][mxj]) {

       mxi = i;

       mxj = mnj;

     }

   }

   cout << (mxi + 1) << " " << (mxj + 1) << endl;

   return 0;

}


Тест

Ввод:

4 5

1 2 3 4 5

0 1 2 3 4

0 0 0 0 -1

16 32 28 17 100

Вывод:

4 1

Пояснение:

Минимальные элементы в каждой строке: 1(1;1), 0(2;1), -1(3;5), 16(4;1)

Максимальным среди них является число 16, которое имеет координаты 4 1 (1-индексация).


mikimouse9: Выдает ошибку, в строчке "double a[N][M];" пишет "выражение должно иметь константное значение"
Похожие вопросы
Предмет: Алгебра, автор: Anna12045678
Предмет: Обществознание, автор: viktori723
Предмет: Обществознание, автор: viktori723