/*
Для каждой строки заданной матрицы A(n, m) определить минимальный элемент и номер столбца, в котором он находится.
*/
/*
codeby.net
Autor: DarkKnight125 (Denis Goncharov)
*/
#include <iostream>
#include <iomanip>
#include <time.h>
using namespace std;
void main(void)
{
setlocale(LC_ALL,".1251"); //Локаль переведем 1251 код. страницу
srand(time(NULL)); //Инициализируем генератор случ. величины
int **Arr; //Наш двумерный динамический 2-мерный массив
int n,m; //Размерность массива
cout << "Введите размерность строк матрицы n = ";
cin >> n;
cout << "Введите размерность столбцов матрицы m = ";
cin >> m;
Arr = new int*[n]; //Выделим память под строки
//Заполним массив случ. величинами
cout << "Массив Arr[n,m] = " << endl;
for (int i = 0; i< n; i++)
{
Arr[i] = new int[m]; //Выделим память под столбцы
for (int j = 0; j<m; j++)
{
Arr[i][j] = rand()%1000 * (rand()%2?1:-1); //Сгенерируем значение от -999 до 999
cout <<setw(5)<< Arr[i][j] << " ";
}
cout << endl;
}
//Минимальный элемент и его индекс для каждой строки
for (int i = 0; i<n; i++)
{
int MinEl = numeric_limits<int>::max(); //минимальный элемент, пока присвоим ему макс. значение int
int Index = -1; //Индекс мин. элемента
for (int j = 0; j< m; j++)
{
if(MinEl > Arr[i][j]) //Если Мин. Элемент > Текущего эл. массив, то
{
MinEl = Arr[i][j]; //Заменим мин. элемент
Index = j; //И запомним индекс его
}
}
cout << "Минимальный элемент строки '"<<i+1<<"' = " << MinEl <<", и его столбец = "<< Index+1 << endl;
}
}