Даны два числа n и m. создайте двумерный массив a[n][m], заполните его таблицей умножения a[i][j]=i*j и выведите на экран. при этом нельзя использовать вложенные циклы, все заполнение массива должно производиться одним циклом. входные данные программа получает на вход два числа n и m – количество строк и столбцов, соответственно. выходные данные программа должна вывести полученный массив. числа разделяйте одним пробелом. примеры входные данные 3 3 выходные данные 0 0 0 0 1 2 0 2 4
216
323
Ответы на вопрос:
Вот с одиночным циклом (пока разберешься, можно лопнуть от натуги): var i,j,k: byte; a: array[1..10,1..10] of byte; begin for k: =1 to 100 do begin i: =(k-1)div10+1; j: =k mod 10; if j=0 then j: =10; a[i,j]: =i*j; write(a[i,j],' ') end end. а вот современное решение, вообще без циклов: // pascalabc.net 3.2, сборка 1379 от 21.01.2017 // внимание! если программа не работает, обновите версию! begin var a: =matrgen(10,10,(i,j)-> (i+1)*(j+1)); a.rows.selectmany(x-> x).println end. в обоих случаях вывод выглядит так: 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100
Популярно: Информатика
-
margoskliar25.04.2022 22:55
-
zeinalovazahra03.04.2021 11:04
-
эмка8914.11.2022 10:49
-
Milli20515.03.2021 19:45
-
Ришат1224.11.2020 18:11
-
IncolaRO29.07.2021 23:11
-
yuyornevzkoxkdhd54304.12.2020 01:41
-
bilkosha200527.07.2020 01:03
-
A01AA015.04.2022 03:34
-
Margaryaanmag16.04.2023 12:14