1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | m = 3 ' Столбцы n = 4 ' Строки DIM A(m, n) AS INTEGER CLS ' Заполним массив и на экран его RANDOMIZE TIMER PRINT "Ishodnyj massiv..." FOR i = 1 TO m FOR j = 1 TO n A(i, j) = RND * 20 PRINT A(i, j); NEXT: PRINT NEXT ' Сортируем массив c = m * n ' Сортировка 1 FOR j = c - 1 TO 1 STEP - 1 FOR i% = 1 TO j e1 = A(((i% - 1 ) MOD 3 ) + 1 , (i% + 2 ) \ 3 ) e2 = A((i% MOD 3 ) + 1 , (i% + 3 ) \ 3 ) IF e1 < e2 THEN SWAP e1, e2 A(((i% - 1 ) MOD 3 ) + 1 , (i% + 2 ) \ 3 ) = e1 A((i% MOD 3 ) + 1 , (i% + 3 ) \ 3 ) = e2 NEXT NEXT PRINT : PRINT "Sorting 1 ..." FOR i = 1 TO m FOR j = 1 TO n PRINT A(i, j); NEXT: PRINT NEXT ' Сортировка 2 FOR j = c - 1 TO 1 STEP - 1 FOR i% = 1 TO j e1 = A((i% + 3 ) \ 4 , ((i% - 1 ) MOD 4 ) + 1 ) e2 = A((i% + 4 ) \ 4 , (i% MOD 4 ) + 1 ) IF e1 < e2 THEN SWAP e1, e2 A((i% + 3 ) \ 4 , ((i% - 1 ) MOD 4 ) + 1 ) = e1 A((i% + 4 ) \ 4 , (i% MOD 4 ) + 1 ) = e2 NEXT NEXT PRINT : PRINT "Sorting 2 ..." FOR i = 1 TO m FOR j = 1 TO n PRINT A(i, j); NEXT: PRINT NEXT |
Тестирование выполнено в программе QB64 ( Скачать )