Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article
Given a matrix, the task is to find the maximum element of each row.
Examples:
Input : [1, 2, 3] [1, 4, 9] [76, 34, 21] Output : 3 9 76 Input : [1, 2, 3, 21] [12, 1, 65, 9] [1, 56, 34, 2] Output : 21 65 56
Approach : Approach is very simple. The idea is to run the loop for no_of_rows. Check each element inside the row and find for the maximum element. Finally, print the element.
Implementation:
C++
#include<bits/stdc++.h>
using
namespace
std;
const
int
N = 4;
void
printArray(
int
result[],
int
no_of_rows) {
for
(
int
i = 0; i < no_of_rows; i++) {
cout<< result[i]<<
"n"
;
}
}
void
maxelement(
int
no_of_rows,
int
arr[][N]) {
int
result[no_of_rows];
for
(
int
i = 0; i < no_of_rows; i++) {
int
max = *max_element(arr[i], arr[i]+N);
result[i] = max;
}
printArray(result,no_of_rows);
}
int
main() {
int
arr[][N] = { {3, 4, 1, 8},
{1, 4, 9, 11},
{76, 34, 21, 1},
{2, 1, 4, 5} };
maxelement(4, arr);
return
0;
}
Java
public
class
GFG{
public
static
void
maxelement(
int
no_of_rows,
int
[][] arr) {
int
i =
0
;
int
max =
0
;
int
[] result =
new
int
[no_of_rows];
while
(i < no_of_rows) {
for
(
int
j =
0
; j < arr[i].length; j++) {
if
(arr[i][j] > max) {
max = arr[i][j];
}
}
result[i] = max;
max =
0
;
i++;
}
printArray(result);
}
private
static
void
printArray(
int
[] result) {
for
(
int
i =
0
; i<result.length;i++) {
System.out.println(result[i]);
}
}
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
} };
maxelement(
4
, arr);
}
}
Python
import
numpy
def
maxelement(arr):
no_of_rows
=
len
(arr)
no_of_column
=
len
(arr[
0
])
for
i
in
range
(no_of_rows):
max1
=
0
for
j
in
range
(no_of_column):
if
arr[i][j] > max1 :
max1
=
arr[i][j]
print
(max1)
arr
=
[[
3
,
4
,
1
,
8
],
[
1
,
4
,
9
,
11
],
[
76
,
34
,
21
,
1
],
[
2
,
1
,
4
,
5
]]
maxelement(arr)
C#
using
System;
class
GFG
{
public
static
void
maxelement(
int
no_of_rows,
int
[][] arr)
{
int
i = 0;
int
max = 0;
int
[] result =
new
int
[no_of_rows];
while
(i < no_of_rows)
{
for
(
int
j = 0;
j < arr[i].Length; j++)
{
if
(arr[i][j] > max)
{
max = arr[i][j];
}
}
result[i] = max;
max = 0;
i++;
}
printArray(result);
}
private
static
void
printArray(
int
[] result)
{
for
(
int
i = 0; i < result.Length;i++)
{
Console.WriteLine(result[i]);
}
}
public
static
void
Main(
string
[] args)
{
int
[][] arr =
new
int
[][]
{
new
int
[] {3, 4, 1, 8},
new
int
[] {1, 4, 9, 11},
new
int
[] {76, 34, 21, 1},
new
int
[] {2, 1, 4, 5}
};
maxelement(4, arr);
}
}
PHP
<?php
$N
= 4;
function
printArray(
$result
,
$no_of_rows
)
{
for
(
$i
= 0;
$i
<
$no_of_rows
;
$i
++)
{
echo
$result
[
$i
].
"n"
;
}
}
function
maxelement(
$no_of_rows
,
$arr
)
{
global
$N
;
$i
= 0;
$max
= 0;
$result
=
array_fill
(0,
$no_of_rows
,0);
while
(
$i
<
$no_of_rows
)
{
for
(
$j
= 0;
$j
<
$N
;
$j
++)
{
if
(
$arr
[
$i
][
$j
] >
$max
)
{
$max
=
$arr
[
$i
][
$j
];
}
}
$result
[
$i
] =
$max
;
$max
= 0;
$i
++;
}
printArray(
$result
,
$no_of_rows
);
}
$arr
=
array
(
array
(3, 4, 1, 8),
array
(1, 4, 9, 11),
array
(76, 34, 21, 1),
array
(2, 1, 4, 5));
maxelement(4,
$arr
);
?>
Javascript
<script>
function
maxelement(no_of_rows, arr)
{
var
i = 0;
var
max = 0;
var
result = Array.from({length: no_of_rows}, (_, i) => 0);
while
(i < no_of_rows)
{
for
(
var
j = 0; j < arr[i].length; j++)
{
if
(arr[i][j] > max)
{
max = arr[i][j];
}
}
result[i] = max;
max = 0;
i++;
}
printArray(result);
}
function
printArray(result)
{
for
(
var
i = 0; i < result.length; i++)
{
document.write(result[i]+
"<br>"
);
}
}
var
arr = [[3, 4, 1, 8],
[ 1, 4, 9, 11],
[ 76, 34, 21, 1],
[ 2, 1, 4, 5] ];
maxelement(4, arr);
</script>
Complexity Analysis:
- Time Complexity: O(n*m) (where, n refers to no. of rows and m refers to no. of columns)
- Auxiliary Space: O(n) (where, n refers to no. of rows)
METHOD: Using List Comprehension.
APPROACH:
It is a concise way of creating a list in Python. We iterate through each row in the matrix using list comprehension and find the maximum element in the current row using the max() function. We then append the maximum element to a new list called “output”. Finally, we print the “output” list which contains the maximum element of each row in the matrix.
ALGORITHM:
1. Iterate through each row of the matrix.
2. Find the maximum element in the current row using the max() function.
3. Append the maximum element to the output list.
4. Return the output list.
Python3
matrix
=
[[
1
,
2
,
3
], [
1
,
4
,
9
], [
76
,
34
,
21
]]
output
=
[
max
(row)
for
row
in
matrix]
print
(output)
Time complexity: O(nm) where n is the number of rows and m is the number of columns in the matrix.
Auxiliary Space: O(n) where n is the number of rows in the matrix
Last Updated :
28 Apr, 2023
Like Article
Save Article
Долго проболел, не ходил в универ, задали:
Определить наибольший элемент в каждой строке матрицы A[B,C], где B<=10, C<=15.
Можете объяснить, что тут вообще надо сделать?
Виталина
111 золотой знак2 серебряных знака8 бронзовых знаков
задан 10 ноя 2014 в 11:50
У тебя есть матрица [10,15]:
- Делаешь цикл по строкам.
- Объявляешь переменную max = первому элементу в этой строке.
- Бежишь по строке и сравниваешь max с текущим элементом x[i,j].
- Если max < x[i,j] то max = x[i,j].
- Выводишь max (или записываешь куда-нибудь).
- Переходишь к следующей строке.
ответ дан 10 ноя 2014 в 12:14
whispeerwhispeer
8994 золотых знака12 серебряных знаков30 бронзовых знаков
2
Ну… Как что делать? Взять тетрадь у однокурсников и порешать задачи в ней, все.
А что непонятного? Наибольший элемент в наборе чисел (например, в массиве) определить умеете? Вот и прогоните определение наибольшего элемента для каждой из строк матрицы. (Как адресуются элементы в матрице, знаете?)
Обновление
Ну хоть с однокурсницами, девочки с первой парты обычно с удовольствием всё объясняют.
Насколько я понял задание, B
и C
— размеры матрицы, соответственно по иксу и по игреку. А числа в матрице любые.
Обновление 2
То есть вы
- заводите матрицу размера «с запасом»: 10 на 15;
- запрашиваете у юзера настоящие размеры. Проверяете, вылазят ли они за границы, если да, ругаетесь на юзера;
- вводите матрицу поэлементно; 🙁
- пробегаетесь по строкам, в каждой находите макс. элемент и выводите;
- PROFIT!
ответ дан 10 ноя 2014 в 12:04
VladDVladD
206k27 золотых знаков289 серебряных знаков521 бронзовый знак
Ответ:
Условие – Найти максимальный элемент матрицы. Строку, содержащую
максимальный элемент, поменять с последней строкой матрицы.
Нумерация в матрице начинается с 0.
С++ на Code Blocks 16
Объяснение:
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
int n = 8; // можно ввести любую размерность квадратной матрицы
int a[n][n];
int Nmax, Nind, i, j = 0 ;
int d;
// Заполним матрицу случайными числами в диапазоне [0 ,100)
// и сразу её выведем
cout << ” —- Array in start —- ” << endl;
srand(time(0));
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
a[i][j] = rand()%111;
cout <<a[i][j] ;
cout<< ” “;
}
cout << ” ” << endl;
}
// Поиск максимального элемента матрицы. Для оптимизации, можно было это произвести на этапе заполнения матрицы
// но для наглядности, напишем отдельно
Nmax = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++){
if (Nmax < a[i][j]) {
Nmax = a[i][j];
Nind = i;
}
}
}
cout<< “Max [“<< Nind<<“] = “<< Nmax << endl;
// Меняем строки местами
for (int j = 0; j < n; j++) {
d = a[n-1][j];
a[n-1][j]=a[Nind][j];
a[Nind][j] = d;
}
cout << ” —- Array after modify —- ” << endl;
// Выводим полученную матрицу
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++){
cout << a[i][j] ;
cout<< ” “;
}
cout << ” ” << endl;
}
return 0;
}