Помогите решить задачи ** языке Pascal.

0 голосов
21 просмотров

Помогите решить задачи на языке Pascal.


image
image
image

Другие предметы (51 баллов) | 21 просмотров
0

По-поводу этого даже не знаю, сложное задание для меня

0

Хорошо)

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1541 от 29.09.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк/столбцов в матрицах:');
  Writeln('*** Исходная матрица A ***');
  Randomize;
  var a:=MatrGen(n,n,(i,j)->(Random(101)-50)*0.5);
  a.Println(9,2); Writeln(9*a.ColCount*'-');
  Writeln('*** Исходная матрица B ***');
  var b:=MatrGen(n,n,(i,j)->(Random(101)-50)*0.5);
  b.Println(9,2); Writeln(9*a.ColCount*'-');
  var v:=b.Rows.Select(r->r.Max).ToArray;
  for var i:=0 to n-1 do
    for var j:=0 to n-1 do
      a[i,j]*=v[i];
  Writeln('*** Результирующая матрица A ***');
  a.Println(9,2)
end.

Пример
Количество строк/столбцов в матрицах: 5
*** Исходная матрица A ***
     6.50    -7.00    19.00    10.00     6.50
   -21.00    24.50     8.50     3.50    16.00
   -22.00    -3.50   -15.50    15.50    18.50
   -11.50     7.50   -24.50     6.00    19.00
     9.50    -2.00    -1.00    -4.50    15.50
---------------------------------------------
*** Исходная матрица B ***
   -11.50    13.50    12.00   -19.00    18.00
    23.00    18.00   -21.50     4.00   -11.50
   -17.00    20.00     2.50   -20.00    17.00
    17.50    -1.00   -10.50   -20.00   -23.50
    -6.50     1.50    23.50    -4.00    24.50
---------------------------------------------
*** Результирующая матрица A ***
   117.00  -126.00   342.00   180.00   117.00
  -483.00   563.50   195.50    80.50   368.00
  -440.00   -70.00  -310.00   310.00   370.00
  -201.25   131.25  -428.75   105.00   332.50
   232.75   -49.00   -24.50  -110.25   379.75

begin
  var n:=ReadInteger('Количество строк/столбцов в матрице:');
  Writeln('*** Исходная матрица ***');
  Randomize;
  var a:=MatrGen(n,n,(i,j)->(Random(101)-50)*0.5);
  a.Println(9,2); Writeln(9*a.ColCount*'-');
  var max:=real.MinValue;
  for var i:=0 to n-1 do
    for var j:=i to n-1 do
      if a[i,j]>max then max:=a[i,j];
  Writeln('Найдено максимальное значение ',max:0:1)
end.

Пример
Количество строк/столбцов в матрице: 6
*** Исходная матрица ***
    -8.00    15.00    -6.00   -13.50    22.50     6.00
     2.50     2.00    18.00    20.00     5.00   -11.00
   -20.00    19.00   -16.50    10.00    17.50    12.00
    -7.00     0.50    -5.50    18.50   -22.00     6.50
   -16.00    15.50   -20.00    17.50     6.00    13.50
    -9.50    -5.50     4.00    -4.00    25.00   -19.50
------------------------------------------------------
Найдено максимальное значение 22.5

begin
  var n:=ReadInteger('Количество строк/столбцов в матрице:');
  var a:=MatrFill(n,n,0);
  a[(n-1) div 2, (n-1) div 2]:=1;
  a.Println(2)
end.

Пример
Количество строк/столбцов в матрице: 13
 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 1 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0
(150k баллов)