2 / 2 / 0 Регистрация: 21.04.2009 Сообщений: 23 |
|
1 |
|
Найти наибольший элемент главной диагонали22.04.2009, 00:48. Показов 5337. Ответов 3
Найти наибольший элемент главной диагонали квадратной матрицы и напечатать номер строки, в которой он находится
0 |
24 / 24 / 2 Регистрация: 02.11.2008 Сообщений: 118 |
|
22.04.2009, 01:36 |
2 |
Код uses crt; var a: array[1..3,1..3] of integer; i,j,nstr,max: integer; begin for i:=1 to 3 do for j:=1 to 3 do begin read(a[i,j]); end; max:=a[1,1]; for i:=1 to 3 do begin if a[i,i]>max then begin max:=a[i,i]; nstr:=i; end; end; writeln('Наибольший элемент = ', max,' он расположен в ',nstr,'-й строке'); readln end.
0 |
Homa 3 / 3 / 1 Регистрация: 21.04.2009 Сообщений: 35 |
||||
22.04.2009, 01:40 |
3 |
|||
0 |
c00le® 138 / 138 / 65 Регистрация: 20.03.2009 Сообщений: 235 |
||||
22.04.2009, 02:01 |
4 |
|||
0 |
Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article
Given a square matrix of order n*n, find the smallest and largest elements from both diagonals of the given matrix.
Examples:
Input : matrix = { {1, 2, 3, 4, -10}, {5, 6, 7, 8, 6}, {1, 2, 11, 3, 4}, {5, 6, 70, 5, 8}, {4, 9, 7, 1, 5}}; Output : Principal Diagonal Smallest Element: 1 Principal Diagonal Greatest Element :11 Secondary Diagonal Smallest Element: -10 Secondary Diagonal Greatest Element: 11
The idea behind solving this problem is, First check traverse matrix and reach all diagonals elements (for principal diagonal i == j and secondary diagonal i+j = size_of_matrix-1) and compare diagonal element with min and max variable and take new min and max values. and same thing for secondary diagonals.
Here is implementation of above approach:
Example 1: With O(n^2) Complexity
C++
#include<bits/stdc++.h>
using
namespace
std;
void
diagonalsMinMax(
int
mat[5][5])
{
int
n =
sizeof
(*mat) / 4;
if
(n == 0)
return
;
int
principalMin = mat[0][0],
principalMax = mat[0][0];
int
secondaryMin = mat[n - 1][0],
secondaryMax = mat[n - 1][0];
for
(
int
i = 1; i < n; i++)
{
for
(
int
j = 1; j < n; j++)
{
if
(i == j)
{
if
(mat[i][j] < principalMin)
{
principalMin = mat[i][j];
}
if
(mat[i][j] > principalMax)
{
principalMax = mat[i][j];
}
}
if
((i + j) == (n - 1))
{
if
(mat[i][j] < secondaryMin)
{
secondaryMin = mat[i][j];
}
if
(mat[i][j] > secondaryMax)
{
secondaryMax = mat[i][j];
}
}
}
}
cout << (
"Principal Diagonal Smallest Element: "
)
<< principalMin << endl;
cout << (
"Principal Diagonal Greatest Element : "
)
<< principalMax << endl;
cout << (
"Secondary Diagonal Smallest Element: "
)
<< secondaryMin << endl;
cout << (
"Secondary Diagonal Greatest Element: "
)
<< secondaryMax << endl;
}
int
main()
{
int
matrix[5][5] = {{ 1, 2, 3, 4, -10 },
{ 5, 6, 7, 8, 6 },
{ 1, 2, 11, 3, 4 },
{ 5, 6, 70, 5, 8 },
{ 4, 9, 7, 1, -5 }};
diagonalsMinMax(matrix);
}
Java
public
class
GFG {
static
void
diagonalsMinMax(
int
[][] mat)
{
int
n = mat.length;
if
(n ==
0
)
return
;
int
principalMin = mat[
0
][
0
], principalMax = mat[
0
][
0
];
int
secondaryMin = mat[n-
1
][
0
], secondaryMax = mat[n-
1
][
0
];
for
(
int
i =
1
; i < n; i++) {
for
(
int
j =
1
; j < n; j++) {
if
(i == j) {
if
(mat[i][j] < principalMin) {
principalMin = mat[i][j];
}
if
(mat[i][j] > principalMax) {
principalMax = mat[i][j];
}
}
if
((i + j) == (n -
1
)) {
if
(mat[i][j] < secondaryMin) {
secondaryMin = mat[i][j];
}
if
(mat[i][j] > secondaryMax) {
secondaryMax = mat[i][j];
}
}
}
}
System.out.println(
"Principal Diagonal Smallest Element: "
+ principalMin);
System.out.println(
"Principal Diagonal Greatest Element : "
+ principalMax);
System.out.println(
"Secondary Diagonal Smallest Element: "
+ secondaryMin);
System.out.println(
"Secondary Diagonal Greatest Element: "
+ secondaryMax);
}
static
public
void
main(String[] args)
{
int
[][] matrix = {
{
1
,
2
,
3
,
4
, -
10
},
{
5
,
6
,
7
,
8
,
6
},
{
1
,
2
,
11
,
3
,
4
},
{
5
,
6
,
70
,
5
,
8
},
{
4
,
9
,
7
,
1
, -
5
}
};
diagonalsMinMax(matrix);
}
}
Python3
def
diagonalsMinMax(mat):
n
=
len
(mat)
if
(n
=
=
0
):
return
principalMin
=
mat[
0
][
0
]
principalMax
=
mat[
0
][
0
]
secondaryMin
=
mat[
0
][n
-
1
]
secondaryMax
=
mat[
0
][n
-
1
]
for
i
in
range
(
1
, n):
for
j
in
range
(
1
, n):
if
(i
=
=
j):
if
(mat[i][j] < principalMin):
principalMin
=
mat[i][j]
if
(mat[i][j] > principalMax):
principalMax
=
mat[i][j]
if
((i
+
j)
=
=
(n
-
1
)):
if
(mat[i][j] < secondaryMin):
secondaryMin
=
mat[i][j]
if
(mat[i][j] > secondaryMax):
secondaryMax
=
mat[i][j]
print
(
"Principal Diagonal Smallest Element: "
,
principalMin)
print
(
"Principal Diagonal Greatest Element : "
,
principalMax)
print
(
"Secondary Diagonal Smallest Element: "
,
secondaryMin)
print
(
"Secondary Diagonal Greatest Element: "
,
secondaryMax)
matrix
=
[[
1
,
2
,
3
,
4
,
-
10
],
[
5
,
6
,
7
,
8
,
6
],
[
1
,
2
,
11
,
3
,
4
],
[
5
,
6
,
70
,
5
,
8
],
[
4
,
9
,
7
,
1
,
-
5
]]
diagonalsMinMax(matrix)
C#
using
System;
public
class
GFG {
static
void
diagonalsMinMax(
int
[,] mat)
{
int
n = mat.GetLength(0);
if
(n == 0)
return
;
int
principalMin = mat[0,0], principalMax = mat[0,0];
int
secondaryMin = mat[n-1,0], secondaryMax = mat[n-1,0];
for
(
int
i = 1; i < n; i++) {
for
(
int
j = 1; j < n; j++) {
if
(i == j) {
if
(mat[i,j] < principalMin) {
principalMin = mat[i,j];
}
if
(mat[i,j] > principalMax) {
principalMax = mat[i,j];
}
}
if
((i + j) == (n - 1)) {
if
(mat[i,j] < secondaryMin) {
secondaryMin = mat[i,j];
}
if
(mat[i,j] > secondaryMax) {
secondaryMax = mat[i,j];
}
}
}
}
Console.WriteLine(
"Principal Diagonal Smallest Element: "
+ principalMin);
Console.WriteLine(
"Principal Diagonal Greatest Element : "
+ principalMax);
Console.WriteLine(
"Secondary Diagonal Smallest Element: "
+ secondaryMin);
Console.WriteLine(
"Secondary Diagonal Greatest Element: "
+ secondaryMax);
}
static
void
Main()
{
int
[,] matrix = {
{ 1, 2, 3, 4, -10 },
{ 5, 6, 7, 8, 6 },
{ 1, 2, 11, 3, 4 },
{ 5, 6, 70, 5, 8 },
{ 4, 9, 7, 1, -5 }
};
diagonalsMinMax(matrix);
}
}
PHP
<?php
function
diagonalsMinMax(
$mat
)
{
$n
=
count
(
$mat
);
if
(
$n
== 0)
return
;
$principalMin
=
$mat
[0][0];
$principalMax
=
$mat
[0][0];
$secondaryMin
=
$mat
[
$n
- 1][0];
$secondaryMax
=
$mat
[
$n
- 1][0];
for
(
$i
= 1;
$i
<
$n
;
$i
++)
{
for
(
$j
= 1;
$j
<
$n
;
$j
++)
{
if
(
$i
==
$j
)
{
if
(
$mat
[
$i
][
$j
] <
$principalMin
)
{
$principalMin
=
$mat
[
$i
][
$j
];
}
if
(
$mat
[
$i
][
$j
] >
$principalMax
)
{
$principalMax
=
$mat
[
$i
][
$j
];
}
}
if
((
$i
+
$j
) == (
$n
- 1))
{
if
(
$mat
[
$i
][
$j
] <
$secondaryMin
)
{
$secondaryMin
=
$mat
[
$i
][
$j
];
}
if
(
$mat
[
$i
][
$j
] >
$secondaryMax
)
{
$secondaryMax
=
$mat
[
$i
][
$j
];
}
}
}
}
echo
"Principal Diagonal Smallest Element: "
,
$principalMin
,
"n"
;
echo
"Principal Diagonal Greatest Element : "
,
$principalMax
,
"n"
;
echo
"Secondary Diagonal Smallest Element: "
,
$secondaryMin
,
"n"
;
echo
"Secondary Diagonal Greatest Element: "
,
$secondaryMax
,
"n"
;
}
$matrix
=
array
(
array
( 1, 2, 3, 4, -10 ),
array
( 5, 6, 7, 8, 6 ),
array
( 1, 2, 11, 3, 4 ),
array
( 5, 6, 70, 5, 8 ),
array
( 4, 9, 7, 1, -5 ));
diagonalsMinMax(
$matrix
);
?>
Javascript
<script>
function
diagonalsMinMax(mat)
{
let n = mat.length;
if
(n == 0)
return
;
let principalMin = mat[0][0],
principalMax = mat[0][0];
let secondaryMin = mat[n - 1][0],
secondaryMax = mat[n - 1][0];
for
(let i = 1; i < n; i++)
{
for
(let j = 1; j < n; j++)
{
if
(i == j)
{
if
(mat[i][j] < principalMin)
{
principalMin = mat[i][j];
}
if
(mat[i][j] > principalMax)
{
principalMax = mat[i][j];
}
}
if
((i + j) == (n - 1))
{
if
(mat[i][j] < secondaryMin)
{
secondaryMin = mat[i][j];
}
if
(mat[i][j] > secondaryMax)
{
secondaryMax = mat[i][j];
}
}
}
}
document.write(
"Principal Diagonal Smallest Element: "
+ principalMin +
"<br>"
);
document.write(
"Principal Diagonal Greatest Element : "
+ principalMax +
"<br>"
);
document.write(
"Secondary Diagonal Smallest Element: "
+ secondaryMin +
"<br>"
);
document.write(
"Secondary Diagonal Greatest Element: "
+ secondaryMax +
"<br>"
);
}
let matrix = [[ 1, 2, 3, 4, -10 ],
[ 5, 6, 7, 8, 6 ],
[ 1, 2, 11, 3, 4 ],
[ 5, 6, 70, 5, 8 ],
[ 4, 9, 7, 1, -5 ]];
diagonalsMinMax(matrix);
</script>
Output
Principal Diagonal Smallest Element: -5 Principal Diagonal Greatest Element : 11 Secondary Diagonal Smallest Element: 4 Secondary Diagonal Greatest Element: 11
Example 2: With O(n) Complexity
C++
#include<bits/stdc++.h>
using
namespace
std;
const
int
n = 5;
void
diagonalsMinMax(
int
mat [n][n])
{
if
(n == 0)
return
;
int
principalMin = mat[0][0],
principalMax = mat[0][0];
int
secondaryMin = mat[n - 1][0],
secondaryMax = mat[n - 1][0];
for
(
int
i = 0; i < n; i++)
{
if
(mat[i][i] < principalMin)
{
principalMin = mat[i][i];
}
if
(mat[i][i] > principalMax)
{
principalMax = mat[i][i];
}
if
(mat[n - 1 - i][i] < secondaryMin)
{
secondaryMin = mat[n - 1 - i][i];
}
if
(mat[n - 1 - i][i] > secondaryMax)
{
secondaryMax = mat[n - 1 - i][i];
}
}
cout <<
"Principal Diagonal Smallest Element: "
<< principalMin <<
"n"
;
cout <<
"Principal Diagonal Greatest Element : "
<< principalMax <<
"n"
;
cout <<
"Secondary Diagonal Smallest Element: "
<< secondaryMin <<
"n"
;
cout <<
"Secondary Diagonal Greatest Element: "
<< secondaryMax;
}
int
main()
{
int
matrix [n][n] = {{ 1, 2, 3, 4, -10 },
{ 5, 6, 7, 8, 6 },
{ 1, 2, 11, 3, 4 },
{ 5, 6, 70, 5, 8 },
{ 4, 9, 7, 1, -5 }};
diagonalsMinMax(matrix);
}
Java
public
class
GFG {
static
void
diagonalsMinMax(
int
[][] mat)
{
int
n = mat.length;
if
(n ==
0
)
return
;
int
principalMin = mat[
0
][
0
], principalMax = mat[
0
][
0
];
int
secondaryMin = mat[n-
1
][
0
], secondaryMax = mat[n-
1
][
0
];
for
(
int
i =
0
; i < n; i++) {
if
(mat[i][i] < principalMin) {
principalMin = mat[i][i];
}
if
(mat[i][i] > principalMax) {
principalMax = mat[i][i];
}
if
(mat[n -
1
- i][i] < secondaryMin) {
secondaryMin = mat[n -
1
- i][i];
}
if
(mat[n -
1
- i][i] > secondaryMax) {
secondaryMax = mat[n -
1
- i][i];
}
}
System.out.println(
"Principal Diagonal Smallest Element: "
+ principalMin);
System.out.println(
"Principal Diagonal Greatest Element : "
+ principalMax);
System.out.println(
"Secondary Diagonal Smallest Element: "
+ secondaryMin);
System.out.println(
"Secondary Diagonal Greatest Element: "
+ secondaryMax);
}
static
public
void
main(String[] args)
{
int
[][] matrix = {
{
1
,
2
,
3
,
4
, -
10
},
{
5
,
6
,
7
,
8
,
6
},
{
1
,
2
,
11
,
3
,
4
},
{
5
,
6
,
70
,
5
,
8
},
{
4
,
9
,
7
,
1
, -
5
}
};
diagonalsMinMax(matrix);
}
}
Python
n
=
5
def
diagonalsMinMax(mat):
if
(n
=
=
0
):
return
principalMin
=
mat[
0
][
0
]
principalMax
=
mat[
0
][
0
]
secondaryMin
=
mat[n
-
1
][
0
]
secondaryMax
=
mat[n
-
1
][
0
]
for
i
in
range
(n):
if
(mat[i][i] < principalMin):
principalMin
=
mat[i][i]
if
(mat[i][i] > principalMax):
principalMax
=
mat[i][i]
if
(mat[n
-
1
-
i][i] < secondaryMin):
secondaryMin
=
mat[n
-
1
-
i][i]
if
(mat[n
-
1
-
i][i] > secondaryMax):
secondaryMax
=
mat[n
-
1
-
i][i]
print
(
"Principal Diagonal Smallest Element: "
,principalMin)
print
(
"Principal Diagonal Greatest Element : "
,principalMax)
print
(
"Secondary Diagonal Smallest Element: "
,secondaryMin)
print
(
"Secondary Diagonal Greatest Element: "
,secondaryMax)
matrix
=
[[
1
,
2
,
3
,
4
,
-
10
],
[
5
,
6
,
7
,
8
,
6
],
[
1
,
2
,
11
,
3
,
4
],
[
5
,
6
,
70
,
5
,
8
],
[
4
,
9
,
7
,
1
,
-
5
]]
diagonalsMinMax(matrix)
C#
using
System;
public
class
GFG {
static
void
diagonalsMinMax(
int
[,] mat)
{
int
n = mat.GetLength(0);
if
(n == 0)
return
;
int
principalMin = mat[0,0], principalMax = mat[0,0];
int
secondaryMin = mat[n-1,0], secondaryMax = mat[n-1,0];
for
(
int
i = 0; i < n; i++) {
if
(mat[i,i] < principalMin) {
principalMin = mat[i,i];
}
if
(mat[i,i] > principalMax) {
principalMax = mat[i,i];
}
if
(mat[n - 1 - i,i] < secondaryMin) {
secondaryMin = mat[n - 1 - i,i];
}
if
(mat[n - 1 - i,i] > secondaryMax) {
secondaryMax = mat[n - 1 - i,i];
}
}
Console.WriteLine(
"Principal Diagonal Smallest Element: "
+ principalMin);
Console.WriteLine(
"Principal Diagonal Greatest Element : "
+ principalMax);
Console.WriteLine(
"Secondary Diagonal Smallest Element: "
+ secondaryMin);
Console.WriteLine(
"Secondary Diagonal Greatest Element: "
+ secondaryMax);
}
public
static
void
Main()
{
int
[,] matrix = {
{ 1, 2, 3, 4, -10 },
{ 5, 6, 7, 8, 6 },
{ 1, 2, 11, 3, 4 },
{ 5, 6, 70, 5, 8 },
{ 4, 9, 7, 1, -5 }
};
diagonalsMinMax(matrix);
}
}
Javascript
<script>
function
diagonalsMinMax(mat)
{
let n = mat.length;
if
(n == 0)
return
;
let principalMin = mat[0][0],
principalMax = mat[0][0];
let secondaryMin = mat[n-1][0],
secondaryMax = mat[n-1][0];
for
(let i = 0; i < n; i++) {
if
(mat[i][i] < principalMin) {
principalMin = mat[i][i];
}
if
(mat[i][i] > principalMax) {
principalMax = mat[i][i];
}
if
(mat[n - 1 - i][i] < secondaryMin) {
secondaryMin = mat[n - 1 - i][i];
}
if
(mat[n - 1 - i][i] > secondaryMax) {
secondaryMax = mat[n - 1 - i][i];
}
}
document.write(
"Principal Diagonal Smallest Element: "
+ principalMin+
"<br>"
);
document.write(
"Principal Diagonal Greatest Element : "
+ principalMax+
"<br>"
);
document.write(
"Secondary Diagonal Smallest Element: "
+ secondaryMin+
"<br>"
);
document.write(
"Secondary Diagonal Greatest Element: "
+ secondaryMax+
"<br>"
);
}
let matrix = [
[ 1, 2, 3, 4, -10 ],
[ 5, 6, 7, 8, 6 ],
[ 1, 2, 11, 3, 4 ],
[ 5, 6, 70, 5, 8 ],
[ 4, 9, 7, 1, -5 ]
];
diagonalsMinMax(matrix);
</script>
Output
Principal Diagonal Smallest Element: -5 Principal Diagonal Greatest Element : 11 Secondary Diagonal Smallest Element: -10 Secondary Diagonal Greatest Element: 11
Complexity Analysis:
- Time complexity: O(n)
- Auxiliary space: O(1) because it is using constant space
Last Updated :
18 Jan, 2023
Like Article
Save Article
Improved By :
- 29AjayKumar
- ihritik
- ankthon
- Shashank_Sharma
- mohit kumar 29
- sravankumar_171fa07058
- user_n13p
- subham348
- surinderdawra388
- hardikkoriintern
- mitalibhola94
- noviced3vq6
Дана квадратная матрица размером nxn
. Найти минимальный элемент среди элементов, расположенных ниже главной диагонали, найти максимальный элемент, среди элементов расположенных выше побочной диагонали. Найденные минимальный и максимальный элементы поменять местами и вывести их индексы.
// main_secondary_diagonal.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; int main(int argc, char* argv[]) { srand(time(NULL)); int size_array; // размер квадратной матрицы setlocale(LC_ALL, "rus"); cout << "Введите размер квадратной матрицы: "; cin >> size_array; // динамическое создание двумерного массива int **arrayPtr = new int* [size_array]; for (int count = 0; count < size_array; count++) arrayPtr[count] = new int [size_array]; for (int counter_rows = 0; counter_rows < size_array; counter_rows++) { for (int counter_columns = 0; counter_columns < size_array; counter_columns++) { arrayPtr[counter_rows][counter_columns] = rand() % 100; // заполнение массива случайными числами cout << setw(2) << arrayPtr[counter_rows][counter_columns] << " "; // вывод на экран двумерного массива } cout << endl; } cout << endl; int min = arrayPtr[1][0], // минимальный елемент массива, ниже главной диагонали row_min = 1, // номер строки минимального элемента column_min = 0; // номер столбца минимального элемента // поиск минимального элемента в массиве, ниже главной диагонали for (int counter_rows = 1; counter_rows < size_array; counter_rows++) { for (int counter_columns = 0; counter_columns < counter_rows ; counter_columns++) { if ( arrayPtr[counter_rows][counter_columns] < min ) { min = arrayPtr[counter_rows][counter_columns]; row_min = counter_rows; column_min = counter_columns; } } } cout << "min" << "[" << (row_min + 1) << "][" << (column_min + 1) << "]" << " = " << min << endl; int max = arrayPtr[0][0], // максимальный элемнет массива, выше побочной диагонали row_max = 0, // номер строки максимального элемента column_max = 0; // номер столбца максимального элемента for (int counter_rows = 0; counter_rows < size_array - 1; counter_rows++) { for (int counter_columns = 0; counter_columns < (size_array - counter_rows - 1); counter_columns++) { if ( arrayPtr[counter_rows][counter_columns] > max ) { max = arrayPtr[counter_rows][counter_columns]; row_max = counter_rows; column_max = counter_columns; } } } cout << "max" << "[" << (row_max + 1) << "][" << (column_max + 1) << "]" << " = " << max << endl; //////////////////перестановка элементов//////////////////////////////////////////////// arrayPtr[row_min][column_min] = max; arrayPtr[row_max][column_max] = min; //////////////////////////////////////////////////////////////////////////////////////// cout << "nМассив после перестановки максимального и минимального элементов:n"; for (int counter_rows = 0; counter_rows < size_array; counter_rows++) { for (int counter_columns = 0; counter_columns < size_array; counter_columns++) { cout << setw(2) << arrayPtr[counter_rows][counter_columns] << " "; // вывод на экран двумерного массива } cout << endl; } cout << endl; cout << "min" << "[" << (row_max + 1) << "][" << (column_max + 1) << "]" << " = " << min << endl; cout << "max" << "[" << (row_min + 1) << "][" << (column_min + 1) << "]" << " = " << max << endl; // удаление двумерного динамического массива for (int count = 0; count < size_array; count++) delete []arrayPtr[count]; system("pause"); return 0; }
Результат работы программы показан ниже:
@k4roma
Начал изучать JavaScript
Как найти максимальный элемент матрицы на главной диагонали и ниже её?
Как найти максимальный элемент матрицы на главной диагонали и ниже её?
Матрица 5Х5.
Помогите пожалуйста.
-
Вопрос заданболее трёх лет назад
-
2792 просмотра
На PascalABC.NET
program max_element;
var
matrix: array[0..4, 0..4] of integer;
i, j: integer;
max: integer;
begin
Randomize;
// Заполнение матрицы
for i := 0 to 4 do
begin
for j := 0 to 4 do
matrix[i][j] := Random(10, 99);
WriteLn(matrix[i]);
end;
i := 0;
j := 0;
max := matrix[i][j];
for j := 0 to 4 do
for i := j to 4 do
if max < matrix[i][j] then
max := matrix[i][j];
WriteLn(max);
end.
Пригласить эксперта
-
Показать ещё
Загружается…
28 мая 2023, в 17:41
15000 руб./за проект
28 мая 2023, в 17:31
1200 руб./в час
28 мая 2023, в 17:26
8000 руб./за проект
Минуточку внимания
CLS DO INPUT "vvedite kol-vo strok ", m INPUT "vvedite kol-vo stolbcov ", n IF m <> n THEN PRINT "matrica ne kvadratnaya povtorite vvod" LOOP UNTIL m = n DIM a(m, n) FOR i = 1 TO m FOR j = 1 TO n PRINT "vvedite element a("; i; ","; j; ")="; INPUT a(i, j) NEXT NEXT PRINT "matrica" FOR i = 1 TO m FOR j = 1 TO n PRINT a(i, j); NEXT PRINT NEXT PRINT "glavnaya diagonal" max = a(1, 1) FOR i = 1 TO n PRINT a(i, i); IF a(i, i) > max THEN max = a(i, i): k = i NEXT PRINT PRINT "maximalnyj element glavnoj diagonali="; max PRINT "on nahoditsya v stroke nomer "; k PRINT "stroka nomer "; k FOR i = 1 TO m PRINT a(k, i); NEXT
Следующий вариант
CLS DO INPUT "vvedite kol-vo strok ", m INPUT "vvedite kol-vo stolbcov ", n IF m <> n THEN PRINT "matrica ne kvadratnaya povtorite vvod" LOOP UNTIL m = n DIM a(m, n) RANDOMIZE TIMER FOR i = 1 TO m FOR j = 1 TO n a(i, j) = INT(RND * 20) NEXT NEXT PRINT "matrica" FOR i = 1 TO m FOR j = 1 TO n PRINT a(i, j); NEXT PRINT NEXT PRINT "glavnaya diagonal" max = a(1, 1) FOR i = 1 TO n PRINT a(i, i); IF a(i, i) > max THEN max = a(i, i): k = i NEXT PRINT PRINT "maximalnyj element glavnoj diagonali="; max PRINT "on nahoditsya v stroke nomer "; k PRINT "stroka nomer "; k FOR i = 1 TO m PRINT a(k, i); NEXT
Тестирование выполнено в программе QB64 ( Скачать )