Заполнение прямоугольной матрицы по спирали, начиная с левого верхнего угла - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите с решением Дана пустая прямоугольнай матрица [mхn].Заполнить ее целыми числами от 1 до [mхn] по спирали начиная с левого верхнего угла

Решение задачи: «Заполнение прямоугольной матрицы по спирали, начиная с левого верхнего угла»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
 
#define N 10
#define M 20
 
int main(int argc, char** argv)
{
    int A[N][M] = { { 0 } };
 
    int n = 0;
    int r1 = 0; int r2 = 0;
 
    for (int r1 = 0; r1 < N / 2; r1++)
    {
        for (int j1 = r1; j1 < M - r1; j1++)
            A[r1][j1] = ++n;
 
        for (int i1 = r1 + 1; i1 < N - r1; i1++)
            A[i1][M - r1 - 1] = ++n;
 
        for (int j2 = M - r1 - 2; j2 >= r1; j2--)
            A[N - r1 - 1][j2] = ++n;
 
        for (int i2 = N - r1 - 2; i2 >= r1 + 1; i2--)
            A[i2][r1] = ++n;
    }
 
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
            printf("%d  ", A[i][j]);
 
        printf("\n");
    }
 
    _getch();
 
    return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.545 из 5
Похожие ответы