👤

Scrieţi un program care citeşte de la tastatură un număr natural n şi construieşte în memorie o matrice cu 2*n linii şi 2*n coloane, numerotate de la 1 la 2*n, astfel încât parcurgând doar liniile impare ale matricei de sus în jos şi fiecare linie impară de la stânga la dreapta se obţin în ordine strict crescătoare toate numerele impare cuprinse în intervalul [1,4*n*n], iar parcurgând doar liniile pare ale matricei de sus în jos şi fiecare linie pară de la dreapta la stânga se obţin în ordine strict crescătoare toate numerele pare cuprinse în intervalul [1,4*n*n].
Exemplu
1 3 5 7
8 6 4 2
9 11 13 15
16 14 12 10



Răspuns :

int
cin>>n
l=1
for(i=1;i<=2*n;i++)
   for(j=1;j<=2*n;j++)
       if(i%2!=0)
           a[i][j]=l
           l=l+2
       else
           m=l
           a[i][j]=m+1
           m=m-2
           l=l+2
          
  
Asta ar trebui sa functioneze pe ce ai scris acolo(daca iti trebuie program c++)
Nota 2*n inseamna n, deci sper ca asta iti trebuie
#include <iostream>

using namespace std;
int n,k=1,l=2,p=1,a[25][25],i,j;
int main()
{cin>>n;
n*=2;//calculez 2*n
for(i=1;i<=n;i++)
{if(i%2) for(j=1;j<=n; j++) {a[i][j]=k; k+=2;}
    else for(j=n;j>=1;j--) {a[i][j]=l; l+=2;}
}


for(i=1;i<=n;i++)
{for(j=1;j<=n;j++) cout<<a[i][j]<<' ';
cout<<endl;}

    return 0;
}