#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
int main()
{
int
N, M;//N - строки, M - столбцы
std::vector<int*> minimal;
std::cout << "Введите N и M: ";
std::cin >> N >> M;
int** arr = new int* [N];
for(int i = 0; i < N; i++)
{
arr[i] = new int[M];
}
for(int i = 0; i < N; i++)
{
for(int j = 0; j < M; j++)
{
std::cin >> arr[i][j];
}
}
short int disc(-1);
for(int i = 0; i < N; i++)
{
minimal.push_back(std::min_element(arr[i], arr[i]+M));
for(int j = 0; j < M; j++)
{
if((std::count(arr[i], arr[i]+M, arr[i][j]) > 1) && disc != i)
{
std::cout << "Повторяющаяся строка: ";
std::copy(arr[i], arr[i]+M,
std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
disc = i;
continue;
}
else continue;
}
}
auto max = minimal.at(std::distance(minimal.begin(), std::max_element(minimal.begin(), minimal.end())));
std::cout << "Максимальное значение среди всех минимальных = " << *max;
//удаляем динамически выделенную память.
for(int i = 0; i < N; i++)
delete[] arr[i];
delete[] arr;
return 0;
}
g++ compiler.
В случае, если программа будет работать некорректно, дай знать.