0 / 0 / 0 Регистрация: 15.11.2013 Сообщений: 4 |
|
1 |
|
максимальный элемент главной диагонали матрицы15.11.2013, 14:17. Показов 17793. Ответов 9
Помогите, какой должен быть код чтобы программа высчитывала максимальный элемент главной диагонали матрицы Х(5 на 5)
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
15.11.2013, 14:17 |
9 |
ПерС 584 / 487 / 371 Регистрация: 05.11.2013 Сообщений: 1,263 Записей в блоге: 6 |
||||
15.11.2013, 15:00 |
2 |
|||
Помогите, какой должен быть код чтобы программа высчитывала максимальный элемент главной диагонали матрицы Х(5 на 5) Это секретный код… только для тебя… если X задана, то
1 |
Hoottie_McGOOB 109 / 107 / 44 Регистрация: 04.10.2013 Сообщений: 231 |
||||
15.11.2013, 15:03 |
3 |
|||
0 |
Alexxx7 98 / 34 / 10 Регистрация: 24.04.2012 Сообщений: 151 |
||||
15.11.2013, 15:14 |
4 |
|||
только что похожее писал, лишнее удали если не надо
1 |
jeka950 0 / 0 / 0 Регистрация: 15.11.2013 Сообщений: 4 |
||||
15.11.2013, 16:08 [ТС] |
5 |
|||
Это секретный код… только для тебя… если X задана, то
получается что Х в данном задании не задана
0 |
ПерС 584 / 487 / 371 Регистрация: 05.11.2013 Сообщений: 1,263 Записей в блоге: 6 |
||||
15.11.2013, 16:11 |
6 |
|||
это огромная проблема, да
представляешь, я шаман… могу предсказать, что ответ будет 4
1 |
jeka950 0 / 0 / 0 Регистрация: 15.11.2013 Сообщений: 4 |
||||
15.11.2013, 16:23 [ТС] |
7 |
|||
это огромная проблема, да
представляешь, я шаман… могу предсказать, что ответ будет 4 ну это понятно что будет 4, в матрицах я разбираюсь но просто С++ для меня так тяжело даётся а как должен выглядеть полный код для такой программы?
0 |
ПерС 584 / 487 / 371 Регистрация: 05.11.2013 Сообщений: 1,263 Записей в блоге: 6 |
||||
15.11.2013, 17:12 |
8 |
|||
хм, если не брать в расчёт зависящих от компилятора операторов, то так:
у тебя в ветке, кажется, ещё пара версий
0 |
0 / 0 / 0 Регистрация: 15.11.2013 Сообщений: 4 |
|
16.11.2013, 00:57 [ТС] |
9 |
а какой должен быть код для того чтобы я вводил значения матрицы в готовой проге?
0 |
ПерС 584 / 487 / 371 Регистрация: 05.11.2013 Сообщений: 1,263 Записей в блоге: 6 |
||||||||
16.11.2013, 07:28 |
10 |
|||||||
а какой должен быть код для того чтобы я вводил значения матрицы в готовой проге? вместо
напиши
дальше без изменений
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
16.11.2013, 07:28 |
Помогаю со студенческими работами здесь Найти максимальный элемент матрицы среди расположенных выше главной диагонали найти макс элемент матрицы… Поменять местами максимальный элемент в каждой строке матрицы с элементом главной диагонали Определить максимальный элемент среди элементов матрицы, расположенных выше главной диагонали Найти максимальный элемент главной диагонали матрицы, вывести строку и столбец, в которых он содержится Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 10 |
@k4roma
Начал изучать JavaScript
Как найти максимальный элемент матрицы на главной диагонали и ниже её?
Как найти максимальный элемент матрицы на главной диагонали и ниже её?
Матрица 5Х5.
Помогите пожалуйста.
-
Вопрос заданболее трёх лет назад
-
2791 просмотр
На 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.
Пригласить эксперта
-
Показать ещё
Загружается…
25 мая 2023, в 19:25
3000 руб./за проект
23 мая 2023, в 17:42
110000 руб./за проект
25 мая 2023, в 18:47
1 руб./за проект
Минуточку внимания
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; }
Результат работы программы показан ниже:
program fd; uses crt; var a:array[1..10,1..10] of integer; max:array[1..20,1..10]of integer; i,j,m,n,l,k:integer; f:string; begin clrscr; randomize; read(n,m); for i:=1 to n do for j:=1 to m do a[i,j]:=random(201)-100; for i:=1 to n do begin for j:=1 to m do write(a[i,j]:4); writeln; end; i:=1;j:=1; repeat max[i,j]:=a[i,j]; if (a[i+1,j+1]>max[i,j]) then max[i,j]:=a[i,j]; i:=i+1;j:=j+1; until (i>n)or (j>m); writeln(max[i,j]); end.