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!

Заменить все отрицательные элементы матрицы на максимальные значения. Помоги составить в паскале

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

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

// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
procedure MatPrint(a:array[,] of integer);
begin
  for var i:=0 to Length(a,0)-1 do begin
    for var j:=0 to Length(a,1)-1 do Print(a[i,j]);
    Writeln
    end
end;

function MatMax(a:array[,] of integer):integer;
begin
  Result:=-100; // мeньше меньшего в матрице
  for var i:=0 to Length(a,0)-1 do
    for var j:=0 to Length(a,1)-1 do
      if a[i,j]>Result then Result:=a[i,j]
end;

procedure MatReplaceNegative(a:array[,] of integer; value:integer);
begin
  for var i:=0 to Length(a,0)-1 do
    for var j:=0 to Length(a,1)-1 do
      if a[i,j]<0 then a[i,j]:=value
end;

begin
  var n,m:integer;
  Write('Задайте число строк и столбцов матрицы: ');
  Read(n,m);
  var a:=MatrixRandom(n,m,-99,99);
  Writeln('Исходная матрица');
  MatPrint(a);
  var mx:=MatMax(a);
  MatReplaceNegative(a,mx);
  Writeln('Результирующая матрица');
  MatPrint(a)
end.

Тестовое решение
Задайте число строк и столбцов матрицы: 5 8
Исходная матрица
24 34 -33 63 -39 -33 96 -65
77 -98 0 31 98 20 36 -59
78 23 10 -44 64 -15 36 -48
86 -99 -8 -4 -12 -65 14 86
-37 0 54 74 -85 -81 -5 -21
Результирующая матрица
24 34 98 63 98 98 96 98
77 98 0 31 98 20 36 98
78 23 10 98 64 98 36 98
86 98 98 98 98 98 14 86
98 0 54 74 98 98 98 98

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





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


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