1. Условие
Даны действительные числа a1, а2, ..., а64. Получить действительную квадратную матрицу порядка 8, элементами которой являются данные числа, расположенные в ней по схеме.
Схема

2. Решение
В программе задается массив из 64 элементов. Производится его инициализация числами от 0 до 63. Далее в цикле инициализируется квадратная матрица размерностью 8*8. При инициализации используются элементы одномерного массива, которые копируются в матрицу по схеме, приведенной на рисунке. Полученная квадратная матрица выводится на экран.
3. Алгоритм решения

4. Текст программы
1 : #include <stdio.h>
2 : #include <conio.h>
3 : void main()
4 : {
5 : int i, j, s, x[8][8], a[64];
6 : clrscr();
7 : for (i=0; i<64; i++)
8 : a[i]=i;
9 : clrscr();
10: printf("\n Исходная последовательность:\n");
11: for (i=0; i<64; i++)
12: printf("%2d ",a[i]);
13: for (i=0; i<8; i++)
14: for(j=0; j<8; j++)
15: {
16: if((i%2) == 0)
17: s=7-j;
18: else
19: s=j;
20: x[i][j]=a[s+8*i];
21: }
22: printf("\n \n \n Новая последовательность\n");
23: for(i=0; i<8; i++)
24: {
25: for(j=0; j<8; j++)
26: {
27: printf("%2d ",x[i][j]);
28: }
29: printf("\n");
30: }
31: printf("\n");
32: printf("\n \n \n Для завершения программы введите любой символ");
33: getch();
34: }
5. Работа программы
Исходная последовательность:
0 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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
Новая последовательность:
7 6 5 4 3 2 1 8 9 10 11 12 13 14 15 23 22 21 20 19 18 17 16 24 25 26 27 28 29 30 31 39 38 37 36 35 34 33 32 40 41 42 43 44 45 46 47 55 54 53 52 51 50 49 48 56 57 58 59 60 61 62 63
Для завершения программы введите любой символ
6. Проверка
Программа работает корректно.