Даны два числа n и m. создайте двумерный массив a[n][m], заполните его таблицей умножения a[i][j]=i*j и выведите на экран. при этом нельзя использовать вложенные циклы, все заполнение массива должно производиться одним циклом. входные данные программа получает на вход два числа n и m – количество строк и столбцов, соответственно. выходные данные программа должна вывести полученный массив. числа разделяйте одним пробелом.
//Низкокачественный код сам себя не напишет!
//Pascal ABC.NET Версия 2.2 Сборка 790
var ar:array of array of integer;
m,n,i,k,j:integer;
begin;
j:=1;
readln(n);
readln(m);
setlength(ar,n+1);
for i:=1 to n do
setlength(ar[i],m+1);
writeln('Matrix:');
for i:=1 to m*n do
begin;
inc(k);
ar[j,k]:=j*k;
write(ar[j,k],' ');
if k=m then
begin;
k:=0;
inc(j);
writeln;
end;
end;
end.
Пример ввода:
3
8
Пример вывода:
Matrix:
1 2 3 4 5 6 7 8
2 4 6 8 10 12 14 16
3 6 9 12 15 18 21 24