Дана матрица размера M×N. Найти максимальную среди минимальных элементов ее строк. C++
Комментарии

рандом

ах да, максимальную что? Строку, в которой минимальный элемент максимальный или просто его же вывести?

тип по каждой строке нашли мин елемент и с етих минимальних ищем мксимальное

ааа, дайте возможность ответить

Ответ
0 (0 оценок)
0
lozromanik 2 года назад
Светило науки - 282 ответа - 0 раз оказано помощи

#include <random>

#include <iostream>

void matrix_maxmin(void) {

setlocale(0,".1251");

uint32_t i,j;

int32_t min,max;

std::cout<<"Введите количество строк матрицы:"<<std::endl;

std::cin>>i;

std::cout<<"Введите количество столбцов матрицы:"<<std::endl;

std::cin>>j;

std::cout<<"Введите минимум чисел:"<<std::endl;

std::cin>>min;

std::cout<<"Введите максимум чисел:"<<std::endl;

std::cin>>max;

std::cout<<std::endl;

if(min>max) std::swap(min,max);

std::random_device rd;

std::mt19937 gen(rd());

std::uniform_int_distribution<int32_t> uid(min, max);

int32_t *matriza = new int32_t[i*j],

        *maxm = new int32_t[i],

        maxmin=min,

  stroka;

 

for(uint32_t i1=0; i1<i; i1++) {

 maxm[i1]=max;

}

for(uint32_t i1=0; i1<i; i1++) {

 for(uint32_t j1=0; j1<j; j1++) {

  matriza[i1*j+j1] = uid(gen);

  std::cout<<matriza[i1*j+j1]<<"t";

  if (matriza[i1*j+j1]<maxm[i1]) maxm[i1]=matriza[i1*j+j1];

 }

 std::cout<<std::endl;

}

for(uint32_t i1=0; i1<i; i1++) {

 std::cout<<"Минимальный элемент "<<i1+1<<"-ой строки равен "<<maxm[i1]<<std::endl;

}

 

for(uint32_t i1=0; i1<i; i1++) {

    if(maxmin<maxm[i1]){

 maxmin=maxm[i1];

 stroka = i1+1;}

}

std::cout<<"Максимальный элемент среди минимальных: "<<maxmin<<" в строке "<<stroka;

delete []matriza;

delete []maxm;

}

int main() {

matrix_maxmin();

return 0;

}