dksvetlydir
?>

Измените программу примера №3 из данного документа так, чтобы итоговый двумерный массив формировался последующему принципу c[i, j] = максимальному элементу из a[i, j] и b[i, j]. pascal. вот сама программа: program pr3; var a : array [1..100, 1..100] of integer ; {резервирование памяти под массивы} b : array [1..100, 1..100] of integer ; c : array [1..100, 1..100] of integer ; m, n, i, j: integer ; {переменные i, j вводятся как индексы массива} begin randomize; writeln ('введите размерность матриц m и n (числа < 100)'); readln (m, n); for i: =1 to m do for j: =1 to n do begin a[i, j]: =random (20)-10; {ввод элемента матрицы} b[i, j]: =random (20)-10; {ввод элемента матрицы} end; writeln ('итоговая матрица a: '); for i: =1 to m do begin for j: =1 to n do write (a[i, j], ' '); {вывод элементов производится в виде матрицы } writeln; {после перебора всех столбцов одной строки – переход новую строку} end; writeln; writeln ('итоговая матрица b: '); for i: =1 to m do begin for j: =1 to n do write (b[i, j], ' '); {вывод элементов производится в виде матрицы } writeln; {после перебора всех столбцов одной строки – переход новую строку} end; writeln; for i: =1 to m do {цикл по всем строкам матрицы} for j: =1 to n do {цикл по всем столбцам матрицы} if (a[i, j]* b[i, j]< 0) then c[i, j]: =a[i, j] + b[i, j] {если элементы исходных массивов имеют разные знаки (то есть их произведение отрицательно), то присваиваем элементу итогового массива значение суммы элементов} else if (a[i, j] > =0) and (b[i, j] > =0) then c[i, j]: =a[i, j] { если элементы исходных массивов имеют положительное или нулевое значение, то присваиваем элементу итогового массива значение элемента из массива a} else c[i, j]: =i+j; writeln ('итоговая матрица c: '); for i: =1 to m do begin for j: =1 to n do write (c[i, j], ' '); {вывод элементов производится в виде матрицы } writeln; {после перебора всех столбцов одной строки – переход новую строку} end; end.

Информатика

Ответы

katrinasvr
Program pr3;
Var A : array [1..100, 1..100] of integer ; {резервирование памяти под массивы}
B : array [1..100, 1..100] of integer ;
C : array [1..100, 1..100] of integer ;
m, n, i,j: integer ; {переменные i,j вводятся как индексы массива}
Begin
randomize;
writeln ('Введите размерность матриц m и n (числа <100)');
readln (m, n);
For i:=1 to m do
For j:=1 to n do
begin
A[i,j]:=random (20)-10; {ввод элемента матрицы}
B[i,j]:=random (20)-10; {ввод элемента матрицы}
end;
writeln ('Итоговая матрица A: ');
For i:=1 to m do
begin
For j:=1 to n do write (A[i,j], ' '); {вывод элементов производится в виде матрицы }
writeln; {после перебора всех столбцов одной строки – переход новую строку}
end;
writeln;
writeln ('Итоговая матрица B: ');
For i:=1 to m do
begin
For j:=1 to n do write (B[i,j], ' '); {вывод элементов производится в виде матрицы }
writeln; {после перебора всех столбцов одной строки – переход новую строку}
end;
writeln;
For i:=1 to m do {цикл по всем строкам матрицы}
For j:=1 to n do {цикл по всем столбцам матрицы}
if (A[i,j] < B[i,j]) then C[i,j] := B[i,j] else C[i,j] := A[i,j];
writeln ('Итоговая матрица C: ');
For i:=1 to m do
begin
For j:=1 to n do write (C[i,j], ' '); {вывод элементов производится в виде матрицы } writeln; {после перебора всех столбцов одной строки – переход новую строку}
end;
end.
zalev
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('n=');
  var a:=MatrGen(n,n,(i,j)->i<=n-j-1?i+1:0);
  a.Println(3)
end.

Пример
n= 13
  1  1  1  1  1  1  1  1  1  1  1  1  1
  2  2  2  2  2  2  2  2  2  2  2  2  0
  3  3  3  3  3  3  3  3  3  3  3  0  0
  4  4  4  4  4  4  4  4  4  4  0  0  0
  5  5  5  5  5  5  5  5  5  0  0  0  0
  6  6  6  6  6  6  6  6  0  0  0  0  0
  7  7  7  7  7  7  7  0  0  0  0  0  0
  8  8  8  8  8  8  0  0  0  0  0  0  0
  9  9  9  9  9  0  0  0  0  0  0  0  0
 10 10 10 10  0  0  0  0  0  0  0  0  0
 11 11 11  0  0  0  0  0  0  0  0  0  0
 12 12  0  0  0  0  0  0  0  0  0  0  0
 13  0  0  0  0  0  0  0  0  0  0  0  0

P.S. Ненавижу того, кто поставил тут этот шрифт - все съезжает!

Сформировать квадратную матрицу порядка n по заданному образцу 1 1 1 1 n-1 n-1 0 0 n 0 0 0
АндреевичЮлия
Const
  n = 10;

var
  i, j: integer;
  a: array[1..n, 1..n] of integer;

begin
  for i := 1 to n do
    for j := 1 to n do
      if i = j then a[i, i] := n - i + 1
      else a[i, j] := 0;
  writeln;
  for i := 1 to n do
  begin
    for j := 1 to n do write(a[i, j]:4);
    writeln
  end
end.

 10   0   0   0   0   0   0   0   0   0
   0   9   0   0   0   0   0   0   0   0
   0   0   8   0   0   0   0   0   0   0
   0   0   0   7   0   0   0   0   0   0
   0   0   0   0   6   0   0   0   0   0
   0   0   0   0   0   5   0   0   0   0
   0   0   0   0   0   0   4   0   0   0
   0   0   0   0   0   0   0   3   0   0
   0   0   0   0   0   0   0   0   2   0
   0   0   0   0   0   0   0   0   0   1

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Измените программу примера №3 из данного документа так, чтобы итоговый двумерный массив формировался последующему принципу c[i, j] = максимальному элементу из a[i, j] и b[i, j]. pascal. вот сама программа: program pr3; var a : array [1..100, 1..100] of integer ; {резервирование памяти под массивы} b : array [1..100, 1..100] of integer ; c : array [1..100, 1..100] of integer ; m, n, i, j: integer ; {переменные i, j вводятся как индексы массива} begin randomize; writeln ('введите размерность матриц m и n (числа < 100)'); readln (m, n); for i: =1 to m do for j: =1 to n do begin a[i, j]: =random (20)-10; {ввод элемента матрицы} b[i, j]: =random (20)-10; {ввод элемента матрицы} end; writeln ('итоговая матрица a: '); for i: =1 to m do begin for j: =1 to n do write (a[i, j], ' '); {вывод элементов производится в виде матрицы } writeln; {после перебора всех столбцов одной строки – переход новую строку} end; writeln; writeln ('итоговая матрица b: '); for i: =1 to m do begin for j: =1 to n do write (b[i, j], ' '); {вывод элементов производится в виде матрицы } writeln; {после перебора всех столбцов одной строки – переход новую строку} end; writeln; for i: =1 to m do {цикл по всем строкам матрицы} for j: =1 to n do {цикл по всем столбцам матрицы} if (a[i, j]* b[i, j]< 0) then c[i, j]: =a[i, j] + b[i, j] {если элементы исходных массивов имеют разные знаки (то есть их произведение отрицательно), то присваиваем элементу итогового массива значение суммы элементов} else if (a[i, j] > =0) and (b[i, j] > =0) then c[i, j]: =a[i, j] { если элементы исходных массивов имеют положительное или нулевое значение, то присваиваем элементу итогового массива значение элемента из массива a} else c[i, j]: =i+j; writeln ('итоговая матрица c: '); for i: =1 to m do begin for j: =1 to n do write (c[i, j], ' '); {вывод элементов производится в виде матрицы } writeln; {после перебора всех столбцов одной строки – переход новую строку} end; end.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

khvorykhphoto
evolkova-73
ПетросовичЗаславский
Tatyana1374
mail66
sleek73
balabinatanya7174
msk-academ
Гаврилаш
admin8808
abadaeva
mausgaly
andrewa
Кирилл_Гульницкий
kampina1