Дан двумерный массив, заменить элементы расположенные на главной диагонали на 1, остальные на 0.
Дан двумерный массив, заменить элементы расположенные на главной диагонали на 1, остальные на 0.
Ответ(ы) на вопрос:
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
procedure MasPrint(a:array[,] of integer; k:integer);
begin
for var i:=0 to Length(a,0)-1 do begin
for var j:=0 to Length(a,1)-1 do Write(a[i,j]:k);
Writeln
end
end;
begin
var n:=ReadInteger('Задайте число строк/столбцов в массиве:');
var a:=MatrixRandom(n,n,-99,99);
Writeln('Исходный массив');
MasPrint(a,4);
for var i:=0 to n-1 do
for var j:=0 to n-1 do
if i=j then a[i,j]:=1 else a[i,j]:=0;
Writeln('Результирующий массив');
MasPrint(a,2)
end.
Тестовое решение
Задайте число строк/столбцов в массиве: 8
Исходный массив
42 94 45 -22 -15 -19 -43 68
-55 -52 -81 62 -16 -11 40 -2
-95 -94 -1 -83 63 -9 29 -15
-82 53 -26 24 -47 -74 45 48
55 -50 -23 30 -95 77 -47 -55
96 40 32 11 -14 -41 -36 -11
88 37 -81 -59 -83 -27 -19 -49
-35 -39 -39 32 -93 33 16 -80
Результирующий массив
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
Не нашли ответ?
Похожие вопросы