Другие языки программирования и технологии

задан массив(с++) n*m нужно найти минимальный элемент в каждой строчке, а затем среди них максимальный

//задаем размерность массива
const int n =
const int m =

int arr[n][m];
int vect[n];

for(int j = 0; j < n; ++j)
{
int min = 0
for(k = 1; k < m; ++k)
{
if( arr[j][k] < arr[j][min])
min = k;
}
vect[j] = ar[j][min];
}

//заполнили вектор минимальными значениями, и начинаем искать максимальное среди них
int max = 0
for(int j = 1; j < nl ++j)
{
if(vect[max] < vect[j])
max = j;
}

//макс элемент в vect[max]
Эдвин Паэгле
Эдвин Паэгле
2 507
Лучший ответ
#define n 5 //
#define m 5 // или сколько там надо.. .

int mas[n][m]; // собственно массив
int max; // максимальный элемент всего массива
int temp_max; // текущий максимальный (для строки)

max = temp_max = mas[ 0 ][ 0 ]; //инициализация элементов

// обработка массива
for( int i = 0 ; i < n ; ++i )
{
temp_max = mas[ i ][ 0 ]; // текущий максимальный
for(int j = 1 ; j < m ; ++j) // начинаем со второго.. .
if( mas[ i ][ j ] > temp_max ) // если текущий больще,
temp_max = mas[ i ][ j ]; // он макс-ый для строки
if( temp_max > max ) // если текущий макс. больше макс. для массива
max = temp_max; // он становится макс-ым
}

// max - максимальный элемент (значение)
// end

Похожие вопросы