Даны два числа n и m. Создайте двумерный массив A[n][m], заполните его таблицей умножения...

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

Даны два числа n и m. Создайте двумерный массив A[n][m], заполните его таблицей умножения A[i][j]=i*j и выведите на экран. При этом нельзя использовать вложенные циклы, все заполнение массива должно производиться одним циклом.
Входные данные
Программа получает на вход два числа n и m – количество строк и столбцов, соответственно.

Выходные данные
Программа должна вывести полученный массив. Числа разделяйте одним пробелом.

Примеры
входные данные
3 3
выходные данные
0 0 0
0 1 2
0 2 4


Информатика | 213 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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

(194k баллов)