Найти максимальный элемент среди минимальных элементов столбцов матрицы.
В одной из переменных будем сохранять минимальный элемент текущего столбца. После того, как столбец просмотрен, будем сравнивать его значение со значением переменной, предусмотренной для хранения максимального элемента среди минимальных.
Начальными значениями этих переменных должны быть: для хранения текущего минимума — большее значение, чем максимально возможное; для хранения максимума среди минимумов — меньшее значение, чем минимально возможное. Например, если диапазон матрицы от 0 до 199, то одной переменной надо присвоить 200, а другой -1.
Поскольку перебираются столбцы, то во внутреннем цикле меняется значение переменной, отвечающей за строки. При выводе же матрицы на экран осуществляем обычный построчный вывод.
Pascal
const
M = 10;
N = 5;
var
a: array[1..N,1..M] of integer;
i,j: byte;
max, min: integer;
begin
randomize;
max := -1;
for j:=1 to M do begin
min := 200;
for i:=1 to N do begin
a[i,j] := random(200);
if a[i,j] < min then
min := a[i,j];
end;
if min > max then
max := min;
end;
for i:=1 to N do begin
for j:=1 to M do
write(a[i,j]:5);
writeln;
end;
writeln('Maximum of the minimum: ', max);
end.
Пример(ы) выполнения программы на языке Pascal:
111 148 189 3 49 197 192 39 51 78
51 172 53 103 175 25 122 34 80 165
68 173 141 82 74 132 59 179 59 151
175 120 138 173 36 101 167 189 173 198
172 151 37 1 46 126 83 183 38 83
Maximum of the minimum: 120
Мы видим, что во втором столбце минимальный элемент равен 120 и это максимум среди минимумов других столбцов. Т.е. в других столбцах минимальный элемент меньше, чем 120.
Язык Си
#include < stdio.h>
#define M 10
#define N 5
main() {
int a[N][M], i, j, max, min;
srand(time(NULL));
max = -1;
for (j=0; j< M; j++) {
min = 200;
for (i=0; i< N; i++) {
a[i][j] = rand() % 200;
if (a[i][j] < min) min = a[i][j];
}
if (min > max) max = min;
}
for (i=0; i< N; i++) {
for (j=0; j< M; j++)
printf("%4d", a[i][j]);
printf("\n");
}
printf("Максимальный среди минимальных: %d\n", max);
}
34 100 0 54 58 159 109 19 63 37
85 113 191 77 127 146 140 174 79 108
164 155 38 178 109 180 6 80 137 195
74 171 86 190 75 154 73 126 53 15
12 183 148 108 198 169 15 145 165 50
Максимальный среди минимальных: 146
В шестом столбце минимальный элемент 146. В других столбцах минимальные элементы меньше 146-ти.
Python
from random import random
M = 10
N = 5
a = []
for i in range(N):
b = []
for j in range(M):
n = int(random()*200)
b.append(n)
print('%4d' % n,end='')
a.append(b)
print()
mx = -1
for j in range(M):
mn = 200
for i in range(N):
if a[i][j] < mn:
mn = a[i][j]
if mn > mx:
mx = mn
print("Максимальный среди минимальных: ", mx)
Пример(ы) выполнения программы на языке Python:
104 60 85 107 189 194 2 143 65 117
109 74 186 102 166 133 169 117 94 190
152 20 63 98 1 93 81 109 23 86
89 186 191 176 67 7 3 109 120 66
89 185 86 167 16 3 163 62 24 84
Максимальный среди минимальных: 98
В четвертом столбце минимальный элемент равен 98. Во всех других столбцах минимальные элементы меньше этого значения.
КуМир
алг максимальный среди минимальных
нач
цел M=10, N=5
цел таб a[1:N, 1:M]
цел i, j, mx, mn
mx := 99
нц для j от 1 до M
mn := 200
нц для i от 1 до N
a[i,j] := int(rand(100,200))
если a[i,j] < mn то mn := a[i,j] все
кц
если mn > mx то mx := mn все
кц
нц для i от 1 до N
нц для j от 1 до M
вывод a[i,j], " "
кц
вывод нс
кц
вывод "Максимальный среди минимальных элементов столбцов: ", mx
кон
173 153 165 176 116 124 179 143 175 132
154 162 196 173 109 164 120 179 105 180
135 124 116 169 116 167 188 104 106 129
149 111 117 105 180 163 147 198 178 150
195 171 168 116 141 195 111 169 132 109
Максимальный среди минимальных элементов столбцов: 135
В первом столбце минимальный элемент 135. Во всех других столбцах минимальные элементы меньше.
Basic-256
M = 10
N = 5
dim a(N,M)
max = 9
for j=0 to M-1
min = 100
for i=0 to N-1
a[i,j] = int(rand * 90)+10
if a[i,j]
next i
if min > max then max = min
next j
for i=0 to N-1
for j=0 to M-1
print a[i,j] + " ";
next j
print
next i
print "Максимальный среди минимальных: " + max
98 69 65 66 15 25 39 30 12 93
17 97 66 30 40 39 58 46 81 41
31 38 64 20 30 13 14 12 27 99
25 43 30 38 71 67 13 29 36 20
59 66 51 86 98 74 94 29 19 79
Максимальный среди минимальных: 38
Во втором столбце минимум равен 38. В других столбцах минимумы меньше.
Совершенно непонятное ТЗ, минимальное значение среди каких?
Нигде нет правильного кода, ничего не соответствует условию, выдаёт совсем другой элемнт