Рекомендую для задачи взять принцип работы почтовой службы, там сортировка имеет критически важное значение.
Например: В почтовое отделение поступило 45 посылок и 68 писем, которые необходимо рассортировать по индексу, весу (или любому другому критерию, которые придумать должен решающий задачу). Так же на почту из центрального отделения привезли 30 посылок и 142 письма, которые необходимо рассортировать для почтальонов по принципу (напрмер номера домов, фамилии получателей и вес (объем) посылки, для определения вида доставки, а так же внутри этой подкатегорию сортировки по имени, номеру и т.п.). Тут можно много сюжетов придумать, думаю вам легче будет это сделать, я лишь предложил направление. Надеюсь полезное.
Microsoft QBasic m = 10 n = 15 DIM a(1 TO m, 1 TO n) AS INTEGER DIM x(1 TO n) AS INTEGER, y(1 TO m) AS INTEGER RANDOMIZE TIMER CLS PRINT "Исходная матрица" FOR i = 1 TO m FOR j = 1 TO n a(i, j) = INT(99 * RND) PRINT USING "###"; a(i, j); NEXT j PRINT NEXT i INPUT "Строка для Х и столбец для Y (через запятую): ", p, q PRINT "Вектор-строка Х" FOR j = 1 TO n x(j) = a(p, j) PRINT USING "###"; x(j); NEXT j PRINT PRINT "Вектор-столбец Y" FOR i = 1 TO m y(i) = a(i, q) PRINT USING "###"; y(i); NEXT i PRINT
Например:
В почтовое отделение поступило 45 посылок и 68 писем, которые необходимо рассортировать по индексу, весу (или любому другому критерию, которые придумать должен решающий задачу).
Так же на почту из центрального отделения привезли 30 посылок и 142 письма, которые необходимо рассортировать для почтальонов по принципу (напрмер номера домов, фамилии получателей и вес (объем) посылки, для определения вида доставки, а так же внутри этой подкатегорию сортировки по имени, номеру и т.п.).
Тут можно много сюжетов придумать, думаю вам легче будет это сделать, я лишь предложил направление. Надеюсь полезное.
m = 10
n = 15
DIM a(1 TO m, 1 TO n) AS INTEGER
DIM x(1 TO n) AS INTEGER, y(1 TO m) AS INTEGER
RANDOMIZE TIMER
CLS
PRINT "Исходная матрица"
FOR i = 1 TO m
FOR j = 1 TO n
a(i, j) = INT(99 * RND)
PRINT USING "###"; a(i, j);
NEXT j
PRINT
NEXT i
INPUT "Строка для Х и столбец для Y (через запятую): ", p, q
PRINT "Вектор-строка Х"
FOR j = 1 TO n
x(j) = a(p, j)
PRINT USING "###"; x(j);
NEXT j
PRINT
PRINT "Вектор-столбец Y"
FOR i = 1 TO m
y(i) = a(i, q)
PRINT USING "###"; y(i);
NEXT i
PRINT
Тестовое решение:
Исходная матрица
51 91 87 95 48 54 64 92 2 91 84 56 60 87 6
96 55 81 11 46 42 38 14 40 73 33 97 16 90 65
65 41 52 1 30 62 68 32 16 86 80 72 94 76 50
63 44 84 83 19 29 95 75 88 9 13 78 45 72 51
98 98 93 70 19 36 16 21 38 87 59 26 48 11 52
77 24 11 91 68 49 72 25 39 54 31 55 57 92 55
79 19 37 67 40 72 91 76 13 75 47 48 12 64 44
87 24 62 73 58 65 2 90 21 63 79 67 92 68 27
57 42 82 21 94 1 19 1 12 1 84 27 86 42 89
54 12 78 75 33 87 34 78 38 50 40 11 19 6 2
Строка для Х и столбец для Y (через запятую): 4,8
Вектор-строка Х
63 44 84 83 19 29 95 75 88 9 13 78 45 72 51
Вектор-столбец Y
92 14 32 75 21 25 76 90 1 78