Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (1≤n≤10) apoi
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*n2
], 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*n2
], ca în exemplu.
Programul afişează pe ecran matricea obţinută, câte o linie a matricei
pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin
câte un spaţiu.
Exemplu: pentru n=2 se obţine matricea alăturată:
1 3 5 7
8 6 4 2
9 11 13 15
16 14 12 10
Răspunsuri la întrebare
Răspuns de
4
Răspuns:
#include <iostream>
using namespace std;
int main() {
int a[15][15]={},n,i,j,ki=1,kp=2;
cin>>n;
for(i=1;i<=2*n;i+=2){ ///liniile impare se completeaza cu valori impare
for(int j=1;j<=2*n;j++){ /// de la stg --> drp
a[i][j]=ki;
ki+=2; /// sau ki=ki+2
}
}
for(i=2;i<=2*n;i+=2){ ///liniile pare se completeaza cu val pare
for(int j=2*n;j>=1;j--){ ///de la drp --> stg
a[i][j]=kp;
kp+=2;
}
}
for(i=1;i<=2*n;i++){
for(int j=1;j<=2*n;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
Explicație:
Explicatiile le gasesti in comentarii
Alte întrebări interesante
Geografie,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Chimie,
9 ani în urmă
Chimie,
9 ani în urmă