
Задан массив {aij} размерности MxM. НАЙТИ m=max(min{aij})
j, aij>0
язык: C++
Код: Выделить всё
1 /*Wed, 12 Nov 2008 23:41:43 +0300*/
2 #include <iostream>
3 using namespace std;
4
5 double f_max(double *,int);
6 double f_min(double *,int);
7
8 int main()
9 {
10 int m = 4;
11 int i,j;
12 double **mm = new double*[m];
13 for(i=0;i<m;i++){
14 mm[i] = new double[m];
15 }
16
17
18
19 for(i = 0;i<m;i++){
20 for(j = 0;j<m;j++){
21 mm[i][j] = rand();
22 }
23 }
24
25
26 double *min = new double[m];
27
28 for(i = 0;i<m;i++){
29 min[i] = f_min(mm[i],m);
30 }
31
32 cout << f_max(min,m) << endl;
33 return 0;
34 }
35
36 double f_min(double * row,int len){
37 double min = row[0];
38 for(int i=1;i<len;i++){
39 if(min > row[i])min = row[i];
40 // cout << min << endl;
41 }
42 return min;
43 }
44
45 double f_max(double * row,int len){
46 double max = row[0];
47 for(int i=1;i<len;i++){
48 if(max < row[i])max = row[i];
49 // cout << max << endl;
50 }
51 return max;
52 }