Решение задачи Змейка с Acmp

Без пояснения   Просмотров: 87


Требуется заполнить змейкой квадратную матрицу так, как показано на рисунке справа: заполнение происходит с единицы из левого верхнего угла и заканчивается в правом нижнем числом N2, где N – порядок матрицы.

Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    int n;
    cin >> n;
    int a[n][n];
    int cur = 0;
    for(int c = 0; c < 2 * n; ++c){
        if(c % 2 == 0){
            for(int i = 0; i < n; ++i){
                int j = c - i;
                if(0 <= j && j < n){
                    cur++;
                    a[i][j] = cur;
                }
            }
        }
        else{
            for(int i = n - 1; i >= 0; --i){ /* направление */
                int j = c - i;
                if(0 <= j && j < n){
                    cur++;
                    a[i][j] = cur;
                }
            }
        }
    }
    for(int i = 0; i < n; ++i){
        for(int j = 0; j < n; ++j)
            cout << a[i][j] << " ";
        cout << endl;
    }
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться