Даны два числа n и m. создайте двумерный массив a[n][m], заполните его таблицей умножения a[i][j]=i*j и выведите на экран. при этом нельзя использовать вложенные циклы, все заполнение массива должно производиться одним циклом. входные данные программа получает на вход два числа n и m – количество строк и столбцов, соответственно. выходные данные программа должна вывести полученный массив. числа разделяйте одним пробелом. примеры входные данные 3 3 выходные данные 0 0 0 0 1 2 0 2 4

elank elank    3   21.08.2019 13:00    5

Ответы
fariii046 fariii046  05.10.2020 09:19
Var
a:array of array of integer;
n,m,i:integer;
begin
writeln('n, m:');
readln(n,m);
SetLength(a,n);
for i:=0 to n-1 do
  SetLength(a[i],m);
for i:=0 to n*m-1 do
 a[i div m,i mod m]:=(i div m)*(i mod m);
for i:=0 to n*m-1 do
 begin
 write(a[i div m,i mod m]:3);
 if (i+1) mod m = 0 then writeln;
 end;
end.

Пример:
n, m:
4 5
  0  0  0  0  0
  0  1  2  3  4
  0  2  4  6  8
  0  3  6  9 12
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика