Register

OR

Do you already have an account? Login

Login

OR

Don't you have an account yet? Register

Newsletter

Submit to our newsletter to receive exclusive stories delivered to you inbox!

Дан двумерный массив, заменить элементы расположенные на главной диагонали на 1, остальные на 0.

более месяца назад
Просмотров : 17    Ответов : 1   

Лучший ответ:

// 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

более месяца назад
Ваш ответ:
Комментарий должен быть минимум 20 символов
Чтобы получить баллы за ответ войди на сайт





Вы можете из нескольких рисунков создать анимацию (или целый мультфильм!). Для этого нарисуйте несколько последовательных кадров и нажмите кнопку Просмотр анимации.


Другие вопросы: