Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main() {
- int N;
- cin >> N;
- int m[51][51];
- int i = 1;
- int j = 1;
- int linie_inceput = i;
- int coloana_inceput = j;
- int linie_sfarsit = N;
- int coloana_sfarsit = N;
- int celule_parcurse = 0;
- for (int i=1;i<=N;i++){
- for (int j=1;j<=N;j++){
- m[i][j]=1;
- }
- }
- for (int i = 1; i <= N; i++)
- {
- m[i][i] = 0; //diagonala principala
- m[i][N - i + 1] = 0; //diagonala secundara
- }
- while (celule_parcurse < N*N)
- {
- for (int j = coloana_inceput; j <= coloana_sfarsit; j++)
- {
- if (celule_parcurse < N*N && m[linie_inceput][j] != 0)
- {
- m[linie_inceput][j] = 1;
- }
- ++celule_parcurse;
- }
- for (int i = linie_inceput + 1; i <= linie_sfarsit; i++)
- {
- if (celule_parcurse < N*N && m[i][coloana_sfarsit] != 0)
- {
- m[i][coloana_sfarsit] = 2;
- }
- ++celule_parcurse;
- }
- for (int j = coloana_sfarsit - 1; j >= coloana_inceput; j--)
- {
- if (celule_parcurse < N*N && m[linie_sfarsit][j] != 0)
- {
- m[linie_sfarsit][j] = 3;
- }
- ++celule_parcurse;
- }
- for (int i = linie_sfarsit - 1; i > linie_inceput; i--)
- {
- if (celule_parcurse < N*N && m[i][coloana_inceput] != 0)
- {
- m[i][coloana_inceput] = 4;
- }
- ++celule_parcurse;
- }
- ++coloana_inceput;
- ++linie_inceput;
- --coloana_sfarsit;
- --linie_sfarsit;
- }
- for (int i = 1; i <= N; i++)
- {
- for (int j = 1; j <= N; j++)
- {
- cout << m[i][j] << ' ';
- }
- cout << '\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement