# 算法：如何查找矩阵中每一列的最大元素？

2021年3月29日16:27:06 发表评论 848 次浏览

## 本文概述

``````Input:  [1, 2, 3]
[1, 4, 9]
[76, 34, 21]

Output:
76
34
21

Input: [1, 2, 3, 21]
[12, 1, 65, 9]
[1, 56, 34, 2]
Output:
12
56
65
21``````

## C ++

``````// C++ program to find the maximum
// element of each column.
#include <bits/stdc++.h>
using namespace std;
const int MAX = 100;

// Function to find the maximum
// element of each column.
void largestInColumn( int mat[][MAX], int rows, int cols)
{
for ( int i = 0; i < cols; i++) {
// initialize the maximum element
// with 0
int maxm = mat[0][i];

// Run the inner loop for rows
for ( int j = 1; j < rows; j++) {
// check if any element is greater
// than the maximum element
// of the column and replace it
if (mat[j][i] > maxm)
maxm = mat[j][i];
}

// print the largest element of the column
cout << maxm << endl;
}
}

// Driver code
int main()
{
int n = 4, m = 4;
int mat[][MAX] = { { 3, 4, 1, 8 }, { 1, 4, 9, 11 }, { 76, 34, 21, 1 }, { 2, 1, 4, 5 } };

largestInColumn(mat, n, m);

return 0;
}``````

## Java

``````// Java program to find maximum
// element of each column in a matrix
public class GFG {

// Function to find the maximum
// element of each column.
public static void largestInColumn( int cols, int [][] arr)
{

for ( int i = 0 ; i < cols; i++) {

// Initialize max to 0 at beginning
// of finding max element of each column
int maxm = arr[ 0 ][i];
for ( int j = 1 ; j < arr[i].length; j++)
if (arr[j][i] > maxm)
maxm = arr[j][i];

System.out.println(maxm);
}
}

// Driver code
public static void main(String[] args)
{
int [][] arr = new int [][] { { 3 , 4 , 1 , 8 }, { 1 , 4 , 9 , 11 }, { 76 , 34 , 21 , 1 }, { 2 , 1 , 4 , 5 } };
// Calling the function
largestInColumn( 4 , arr);
}
}``````

## Python3

``````# Python3 program to find the maximum
# element of each column
MAX = 100

# function to find the maximum
# elements of each column
def largestInColumn(mat, rows, cols):
for i in range (cols):

# initialize the maximum element with 0
maxm = mat[ 0 ][i]
# run the inner loop for news
for j in range (rows):

# check if any elements is greater
# than the maximum elements
# of the cloumn and replace it
if mat[j][i] > maxm:
maxm = mat[j][i]

# print the largest element
# of the column
print (maxm)

# Driver code
n, m = 4 , 4
mat = [[ 3 , 4 , 1 , 8 ], [ 1 , 4 , 9 , 11 ], [ 76 , 34 , 21 , 1 ], [ 2 , 1 , 4 , 5 ]]

largestInColumn(mat, n, m);

# This code is contributed
# by Mohit kumar 29 (IIIT gwalior)``````

## C#

``````// C# program to find maximum
// element of each column in a matrix
using System;

class GFG
{

// Function to find the maximum
// element of each column.
public static void largestInColumn( int cols, int [, ] arr)
{
for ( int i = 0; i < cols; i++)
{

// Initialize max to 0 at beginning
// of finding max element of each column
int maxm = arr[0, i];
for ( int j = 1; j < arr.GetLength(0); j++)
if (arr[j, i] > maxm)
maxm = arr[j, i];

Console.WriteLine(maxm);
}
}

// Driver code
public static void Main()
{
int [, ] arr = new int [, ] { { 3, 4, 1, 8 }, { 1, 4, 9, 11 }, { 76, 34, 21, 1 }, { 2, 1, 4, 5 } };
// Calling the function
largestInColumn(4, arr);
}
}

// This code is contributed
// by Akanksha Rai``````

## 的PHP

``````<?php
// PHP program to find the maximum
// element of each column.
\$MAX = 100;

// Function to find the maximum
// element of each column.
function largestInColumn( \$mat , \$rows , \$cols )
{
for ( \$i = 0; \$i < \$cols ; \$i ++)
{
// initialize the maximum element
// with 0
\$maxm = \$mat [0][ \$i ];

// Run the inner loop for rows
for ( \$j = 1; \$j < \$rows ; \$j ++)
{
// check if any element is greater
// than the maximum element
// of the column and replace it
if ( \$mat [ \$j ][ \$i ] > \$maxm )
\$maxm = \$mat [ \$j ][ \$i ];
}

// print the largest element
// of the column
echo \$maxm , "\n" ;
}
}

// Driver code
\$n = 4;
\$m = 4;
\$mat = array ( array ( 3, 4, 1, 8 ), array ( 1, 4, 9, 11 ), array ( 76, 34, 21, 1 ), array ( 2, 1, 4, 5 ));

largestInColumn( \$mat , \$n , \$m );

// This code is contributed by Sach_Code
?>``````

``````76
34
21
11``````