Задача 3.4

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. Проверка

Программа работает корректно.

Хостинг от uCoz