Найти максимальные элементы столбцов матрицы

Найти максимальный элемент каждого столбца матрицы.

При поиске наибольших элементов в столбцах внешний цикл должен перебирать столбцы, а внутренний — элементы в столбцах. Это значит, что во внутреннем цикле меняется первый индекс элемента, второй остается постоянным в рамках одной итерации внешнего цикла.

В теле внешнего цикла сначала предполагается, что наибольшим является первый элемент текущего столбца. Первый элемент каждого столбца имеет индекс строки, равный 1 (или 0 при индексации с нуля). Второй индекс — это номер столбца, определяется счетчиком внешнего цикла.

Далее в теле внешнего цикла выполняется внутренний цикл, перебирающий элементы текущего столбца, начиная со второго элемента столбца. В теле внутреннего цикла текущий элемент сравнивается с тем, что записан в переменной-максимуме. Если текущий больше, то он присваивается этой переменной.

После завершения внутреннего цикла переменная-максимум будет содержать наибольший элемент столбца, который можно вывести на экран.

Pascal


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<br>
const N = 15; M = 10;<br>
var<br>
arr: array[1..N,1..M] of byte;<br>
i,j,max: byte; <br>
begin<br>
randomize;<br>
for i:=1 to N do begin<br>
for j:=1 to M do begin<br>
arr[i,j] := random(256);<br>
write(' |',arr[i,j]:3,'| ');<br>
end;<br>
writeln;<br>
end;<br>
for i:=1 to M do <br>
write(' ----- ');<br>
writeln;<br>
for j:=1 to M do begin<br>
max := arr[1,j];<br>
for i:=2 to N do<br>
if arr[i,j] > max then<br>
max := arr[i,j];<br>
write(' ',max:3,' ');<br>
end;<br>
writeln;<br>
end.<br>
<br> const N = 15; M = 10;<br> var<br> arr: array[1..N,1..M] of byte;<br> i,j,max: byte; <br> begin<br> randomize;<br> for i:=1 to N do begin<br> for j:=1 to M do begin<br> arr[i,j] := random(256);<br> write(' |',arr[i,j]:3,'| ');<br> end;<br> writeln;<br> end;<br> for i:=1 to M do <br> write(' ----- ');<br> writeln;<br> for j:=1 to M do begin<br> max := arr[1,j];<br> for i:=2 to N do<br> if arr[i,j] > max then<br> max := arr[i,j];<br> write(' ',max:3,' ');<br> end;<br> writeln;<br> end.<br>

const N = 15; M = 10;
var
arr: array[1..N,1..M] of byte;
i,j,max: byte;
begin
randomize;
for i:=1 to N do begin
for j:=1 to M do begin
arr[i,j] := random(256);
write(' |',arr[i,j]:3,'| ');
end;
writeln;
end;
for i:=1 to M do
write(' ----- ');
writeln;
for j:=1 to M do begin
max := arr[1,j];
for i:=2 to N do
if arr[i,j] > max then
max := arr[i,j];
write(' ',max:3,' ');
end;
writeln;
end.



Пример(ы) выполнения программы на языке Pascal:

| 75| |230| | 21| | 95| |219| |102| | 64| |125| | 8| |132|
|190| | 73| |127| | 85| |110| |188| | 45| |108| |104| |233|
| 85| |160| | 47| |158| | 32| | 75| | 59| |149| |175| |226|
|179| |208| |239| |238| |120| | 83| |120| |135| |252| | 19|
| 33| |217| |247| | 82| | 0| |125| |190| | 53| | 87| |186|
|239| | 48| | 29| | 35| |210| | 96| | 46| | 17| |106| |225|
|232| | 1| |201| | 1| | 54| |249| | 46| |179| |122| | 58|
| 66| |190| |161| | 84| | 88| | 33| |201| | 64| | 43| | 7|
|206| |114| |196| | 4| |137| |165| | 63| |144| |183| |121|
|151| | 9| |161| |120| |197| |228| | 20| |121| |176| |217|
|109| | 19| |188| |105| |114| |230| |217| |172| |194| |127|
|138| |222| |116| |132| | 92| |105| |222| | 73| | 94| | 16|
| 30| |127| |125| | 54| |134| |240| | 75| |227| |215| | 38|
| 87| | 64| |167| |191| |212| |157| | 62| |231| |166| |177|
|184| |179| |201| | 19| |242| |185| | 31| |226| |101| |123|
----- ----- ----- ----- ----- ----- ----- ----- ----- -----
239 230 247 238 242 249 222 231 252 233

Язык Си


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<br>
#include < stdio.h><br>
#define N 15<br>
#define M 10<br>
main() {<br>
int arr[N][M], i, j, max;<br>
srand(time(NULL));<br>
for (i=0; i< N; i++) {<br>
for (j=0; j< M; j++) {<br>
arr[i][j] = rand() % 256;<br>
printf(" |%3d| ", arr[i][j]);<br>
}<br>
printf("\n");<br>
}<br>
for (j=0; j< M; j++) <br>
printf(" ----- ");<br>
printf("\n");<br>
for (j=0; j< M; j++) {<br>
max = arr[0][j];<br>
for (i=1; i< N; i++)<br>
if (arr[i][j] > max)<br>
max = arr[i][j];<br>
printf(" %3d ", max);<br>
}<br>
printf("\n");<br>
}<br>
<br> #include < stdio.h><br> #define N 15<br> #define M 10<br> main() {<br> int arr[N][M], i, j, max;<br> srand(time(NULL));<br> for (i=0; i< N; i++) {<br> for (j=0; j< M; j++) {<br> arr[i][j] = rand() % 256;<br> printf(" |%3d| ", arr[i][j]);<br> }<br> printf("\n");<br> }<br> for (j=0; j< M; j++) <br> printf(" ----- ");<br> printf("\n");<br> for (j=0; j< M; j++) {<br> max = arr[0][j];<br> for (i=1; i< N; i++)<br> if (arr[i][j] > max)<br> max = arr[i][j];<br> printf(" %3d ", max);<br> }<br> printf("\n");<br> }<br>

#include < stdio.h>
#define N 15
#define M 10
main() {
int arr[N][M], i, j, max;
srand(time(NULL));
for (i=0; i< N; i++) {
for (j=0; j< M; j++) {
arr[i][j] = rand() % 256;
printf(" |%3d| ", arr[i][j]);
}
printf("\n");
}
for (j=0; j< M; j++)
printf(" ----- ");
printf("\n");
for (j=0; j< M; j++) {
max = arr[0][j];
for (i=1; i< N; i++)
if (arr[i][j] > max)
max = arr[i][j];
printf(" %3d ", max);
}
printf("\n");
}

Python


найти максимальный элемент столбца матрицы Python
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<br>
from random import random<br>
N = 15<br>
M = 10<br>
arr = []<br>
for i in range(N):<br>
lst = []<br>
for j in range(M):<br>
lst.append(int(random() * 256))<br>
arr.append(lst)<br>
for i in range(N):<br>
for j in range(M):<br>
print(" |%3d| " % arr[i][j], end='')<br>
print()<br>
for i in range(M):<br>
print(" ----- ", end='')<br>
print()<br>
for j in range(M):<br>
mx = arr[0][j]<br>
for i in range(N):<br>
if arr[i][j] > mx:<br>
mx = arr[i][j]<br>
print(" |%3d| " % mx, end='')<br>
print()<br>
<br> from random import random<br> N = 15<br> M = 10<br> arr = []<br> for i in range(N):<br> lst = []<br> for j in range(M):<br> lst.append(int(random() * 256))<br> arr.append(lst)<br> for i in range(N):<br> for j in range(M):<br> print(" |%3d| " % arr[i][j], end='')<br> print()<br> for i in range(M):<br> print(" ----- ", end='')<br> print()<br> for j in range(M):<br> mx = arr[0][j]<br> for i in range(N):<br> if arr[i][j] > mx:<br> mx = arr[i][j]<br> print(" |%3d| " % mx, end='')<br> print()<br>

from random import random
N = 15
M = 10
arr = []
for i in range(N):
lst = []
for j in range(M):
lst.append(int(random() * 256))
arr.append(lst)
for i in range(N):
for j in range(M):
print(" |%3d| " % arr[i][j], end='')
print()
for i in range(M):
print(" ----- ", end='')
print()
for j in range(M):
mx = arr[0][j]
for i in range(N):
if arr[i][j] > mx:
mx = arr[i][j]
print(" |%3d| " % mx, end='')
print()

КуМир

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<br>
алг<br>
нач<br>
цел N = 15, M = 10<br>
целтаб t[1:N,1:M]<br>
цел mx, i, j<br>
нц для i от 1 до N<br>
нц для j от 1 до M<br>
t[i,j] := irnd(256)<br>
вывод " |",t[i,j]:3,"| "<br>
кц<br>
вывод нс<br>
кц<br>
нц для i от 1 до M<br>
вывод " ----- "<br>
кц<br>
вывод нс<br>
нц для j от 1 до M<br>
mx := t[1, j]<br>
нц для i от 2 до N<br>
если t[i,j] > mx то<br>
mx := t[i,j]<br>
все<br>
кц<br>
вывод ' ',mx:3,' '<br>
кц<br>
кон<br>
<br> алг<br> нач<br> цел N = 15, M = 10<br> целтаб t[1:N,1:M]<br> цел mx, i, j<br> нц для i от 1 до N<br> нц для j от 1 до M<br> t[i,j] := irnd(256)<br> вывод " |",t[i,j]:3,"| "<br> кц<br> вывод нс<br> кц<br> нц для i от 1 до M<br> вывод " ----- "<br> кц<br> вывод нс<br> нц для j от 1 до M<br> mx := t[1, j]<br> нц для i от 2 до N<br> если t[i,j] > mx то<br> mx := t[i,j]<br> все<br> кц<br> вывод ' ',mx:3,' '<br> кц<br> кон<br>

алг
нач
цел N = 15, M = 10
целтаб t[1:N,1:M]
цел mx, i, j
нц для i от 1 до N
нц для j от 1 до M
t[i,j] := irnd(256)
вывод " |",t[i,j]:3,"| "
кц
вывод нс
кц
нц для i от 1 до M
вывод " ----- "
кц
вывод нс
нц для j от 1 до M
mx := t[1, j]
нц для i от 2 до N
если t[i,j] > mx то
mx := t[i,j]
все
кц
вывод ' ',mx:3,' '
кц
кон

Basic-256


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<br>
N = 15<br>
M = 10<br>
dim arr(N,M)<br>
for i=0 to N-1<br>
for j=0 to M-1<br>
arr[i,j] = int(rand*90)+10<br>
print arr[i,j] + " ";<br>
next j<br>
print<br>
next i<br>
for j=0 to M-1 <br>
print "-----";<br>
next j<br>
print<br>
for j=0 to M-1<br>
max = arr[0,j]<br>
for i=1 to N-1<br>
if arr[i,j] > max then max = arr[i,j]<br>
next i<br>
print max + " ";<br>
next j<br>
print<br>
<br> N = 15<br> M = 10<br> dim arr(N,M)<br> for i=0 to N-1<br> for j=0 to M-1<br> arr[i,j] = int(rand*90)+10<br> print arr[i,j] + " ";<br> next j<br> print<br> next i<br> for j=0 to M-1 <br> print "-----";<br> next j<br> print<br> for j=0 to M-1<br> max = arr[0,j]<br> for i=1 to N-1<br> if arr[i,j] > max then max = arr[i,j]<br> next i<br> print max + " ";<br> next j<br> print<br>

N = 15
M = 10
dim arr(N,M)
for i=0 to N-1
for j=0 to M-1
arr[i,j] = int(rand*90)+10
print arr[i,j] + " ";
next j
print
next i
for j=0 to M-1
print "-----";
next j
print
for j=0 to M-1
max = arr[0,j]
for i=1 to N-1
if arr[i,j] > max then max = arr[i,j]
next i
print max + " ";
next j
print

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Pascal


const N = 15; M = 10;
var
arr: array[1..N,1..M] of byte;
i,j,max: byte;
begin
randomize;
for i:=1 to N do begin
for j:=1 to M do begin
arr[i,j] := random(256);
write(' |',arr[i,j]:3,'| ');
end;
writeln;
end;
for i:=1 to M do
write(' ----- ');
writeln;
for j:=1 to M do begin
max := arr[1,j];
for i:=2 to N do
if arr[i,j] > max then
max := arr[i,j];
write(' ',max:3,' ');
end;
writeln;
end.



Пример(ы) выполнения программы на языке Pascal:

| 75| |230| | 21| | 95| |219| |102| | 64| |125| | 8| |132|
|190| | 73| |127| | 85| |110| |188| | 45| |108| |104| |233|
| 85| |160| | 47| |158| | 32| | 75| | 59| |149| |175| |226|
|179| |208| |239| |238| |120| | 83| |120| |135| |252| | 19|
| 33| |217| |247| | 82| | 0| |125| |190| | 53| | 87| |186|
|239| | 48| | 29| | 35| |210| | 96| | 46| | 17| |106| |225|
|232| | 1| |201| | 1| | 54| |249| | 46| |179| |122| | 58|
| 66| |190| |161| | 84| | 88| | 33| |201| | 64| | 43| | 7|
|206| |114| |196| | 4| |137| |165| | 63| |144| |183| |121|
|151| | 9| |161| |120| |197| |228| | 20| |121| |176| |217|
|109| | 19| |188| |105| |114| |230| |217| |172| |194| |127|
|138| |222| |116| |132| | 92| |105| |222| | 73| | 94| | 16|
| 30| |127| |125| | 54| |134| |240| | 75| |227| |215| | 38|
| 87| | 64| |167| |191| |212| |157| | 62| |231| |166| |177|
|184| |179| |201| | 19| |242| |185| | 31| |226| |101| |123|
----- ----- ----- ----- ----- ----- ----- ----- ----- -----
239 230 247 238 242 249 222 231 252 233
Язык Си


#include < stdio.h>
#define N 15
#define M 10
main() {
int arr[N][M], i, j, max;
srand(time(NULL));
for (i=0; i< N; i++) {
for (j=0; j< M; j++) {
arr[i][j] = rand() % 256;
printf(" |%3d| ", arr[i][j]);
}
printf("\n");
}
for (j=0; j< M; j++)
printf(" ----- ");
printf("\n");
for (j=0; j< M; j++) {
max = arr[0][j];
for (i=1; i< N; i++)
if (arr[i][j] > max)
max = arr[i][j];
printf(" %3d ", max);
}
printf("\n");
}
Python

найти максимальный элемент столбца матрицы Python

from random import random
N = 15
M = 10
arr = []
for i in range(N):
lst = []
for j in range(M):
lst.append(int(random() * 256))
arr.append(lst)
for i in range(N):
for j in range(M):
print(" |%3d| " % arr[i][j], end='')
print()
for i in range(M):
print(" ----- ", end='')
print()
for j in range(M):
mx = arr[0][j]
for i in range(N):
if arr[i][j] > mx:
mx = arr[i][j]
print(" |%3d| " % mx, end='')
print()
КуМир

алг
нач
цел N = 15, M = 10
целтаб t[1:N,1:M]
цел mx, i, j
нц для i от 1 до N
нц для j от 1 до M
t[i,j] := irnd(256)
вывод " |",t[i,j]:3,"| "
кц
вывод нс
кц
нц для i от 1 до M
вывод " ----- "
кц
вывод нс
нц для j от 1 до M
mx := t[1, j]
нц для i от 2 до N
если t[i,j] > mx то
mx := t[i,j]
все
кц
вывод ' ',mx:3,' '
кц
кон
Basic-256


N = 15
M = 10
dim arr(N,M)
for i=0 to N-1
for j=0 to M-1
arr[i,j] = int(rand*90)+10
print arr[i,j] + " ";
next j
print
next i
for j=0 to M-1
print "-----";
next j
print
for j=0 to M-1
max = arr[0,j]
for i=1 to N-1
if arr[i,j] > max then max = arr[i,j]
next i
print max + " ";
next j
print