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
Salvatorul2017:
Exel din suita Office nu te.ar ajuta?
Răspunsuri la întrebare
Răspuns de
0
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
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
Răspuns de
1
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;
}
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;
}
Alte întrebări interesante
Chimie,
8 ani în urmă
Studii sociale,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Chimie,
9 ani în urmă
Limba română,
9 ani în urmă