1

(11 відповідей, залишених у C)

Код робочий. Але я тільки почав вивчати Сішку. Не дуже шарю. Як ці елементи записати в зворотньому порядку? Я намагався

[i][j]

змінити місцями - не допомогло. Вектор b змінив. Він був 1...81. Став 81...1. Теж не допомогло.

2

(11 відповідей, залишених у C)

Є код, який вирішує трохи інше завдання. Протилежне до даного. Вивід такої матриці:
http://не-дійсний-домен/i9/9468cac514aad2056f2bf16d105baa7a/1414517922/2722/820385/l09_e018.gif

#include <stdio.h>

int main()
{
    const int n = 9;
    int A[9][9];
    int b[9 * 9];
    for (int i = 0; i < n * n; i++)
    {
        b[i] = i + 1;
    }
    int a = 0;
    for (int i = 0; i < n - 2; i++)
    {
        for (int j = i; j < n - i; j++) //вниз
        {
            A[j][i] = b[a];
            a++;
        }
        for (int j = i + 1; j < n - i - 1; j++) //вправо
        {
            A[n - i - 1][j] = b[a];
            a++;
        }
        for (int j = n - 1 - i; j > i; j--) //вверх
        {
            A[j][n - i - 1] = b[a];
            a++;
        }
        for (int j = n - 1 - i; j > i; j--) //вліво
        {
            A[i][j] = b[a];
            a++;
        }
    }
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            printf("%2d ", A[i][j]);
        }
        printf("\n");
    }
    getch();
}

Підкажіть, що в ньому треба переробити.

3

(11 відповідей, залишених у C)

Допоможіть написати на C та зробити блок-схему алгоритму.

Заповнити матрицю значеннями вектора b1, b2, ... , b81 вiд центра по спiралi: вниз - влiво - вверх - вправо. (Примiтка. На малюнку вказанi iндекси елементiв вектора b.)

Короче кажучи, треба вивести матрицю таку, як на малюнку.

http://не-дійсний-домен/i9/5ae58e59892794b3c33d41f352483ada/1414513443/2679/820385/l09_e019.gif