Задача: 2-мерная Матрица, определение индекса столбца по условию. Дин.

  • Автор темы tori
  • Дата начала
Статус
Закрыто для дальнейших ответов.
T

tori

#1
Помогите пожалуйста!!!!

Нужно сделать на С++:

Для каждой строки заданной матрицы A(n, m) определить минимальный элемент и номер столбца, в котором он находится.
 

DarkKnight

Well-known member
01.08.2010
653
0
#2
Для каждой строки заданной матрицы A(n, m) определить минимальный элемент и номер столбца, в котором он находится.
C++:
/*
Для каждой строки заданной матрицы 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;
}


}
 

Вложения

Статус
Закрыто для дальнейших ответов.