#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 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<<"Минимальный элемент "<<i1+1<<"-ой строки равен "<<maxm[i1]<<std::endl;
if(maxmin<maxm[i1]){
maxmin=maxm[i1];
stroka = i1+1;}
std::cout<<"Максимальный элемент среди минимальных: "<<maxmin<<" в строке "<<stroka;
delete []matriza;
delete []maxm;
int main() {
matrix_maxmin();
return 0;
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
#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;
}