Scrieţi un program C++ care citeşte de la tastatură un număr natural nenul cu exact 4 cifre,
construieşte în memorie şi afişează apoi pe ecran o matrice având 4 linii şi 4 coloane, completată
astfel: elementele de pe prima coloană a matricei vor fi toate egale cu cifra miilor numărului dat,
elementele de pe a doua coloană a matricei vor fi toate egale cu cifra sutelor numărului dat, elementele
de pe a treia coloană a matricei vor fi toate egale cu cifra zecilor numărului dat, iar elementele de pe a
patra coloană a matricei vor fi toate egale cu cifra unitatilor numărului dat. Matricea va fi afişată pe ecran,
câte o linie a matricei pe câte o linie a ecranului, iar elementele fiecărei linii vor fi separate prin câte un
spaţiu.
Exemplu: dacă se citeşte numărul 9531, matricea construită va fi cea de mai jos.
9 5 3 1
9 5 3 1
9 5 3 1
9 5 3 1
Pana acum am scris programul asta:
#include
using namespace std;
int main()
{
int a[20][20];
int m, n,j,i,x;
cin>>m>>n>>x;
for (j=n; j>=1; j--) {
for (i=m; i>=1; i--) {
a[i][j]=x%10;
cout<<' '<
cout<
}
x/=10;
}
return 0;
}
Dar imi arata toate elementele pe o singura coloana (ca in poza). Cum sa fac sa ma duc pe coloana din fata?
Anexe:
Răspunsuri la întrebare
Răspuns de
1
Nu era nevoie sa te complici cu 2 de for.
Iei un singur for si mergi pe fiecare coloana in parte:
#include <iostream>
using namespace std;
int main()
{
unsigned long n;
int a[5][5];
cin>>n;
for(int i=0;i<4;i++)
{
a[i][0]=n/1000;
a[i][1]=(n/100)%10;
a[i][2]=(n/10)%10;
a[i][3]=n%10;
}
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
cout<<a[i][j];
cout<<endl;
}
return 0;
}
Iei un singur for si mergi pe fiecare coloana in parte:
#include <iostream>
using namespace std;
int main()
{
unsigned long n;
int a[5][5];
cin>>n;
for(int i=0;i<4;i++)
{
a[i][0]=n/1000;
a[i][1]=(n/100)%10;
a[i][2]=(n/10)%10;
a[i][3]=n%10;
}
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
cout<<a[i][j];
cout<<endl;
}
return 0;
}
danielaalexandra:
doamna profesoara a zis sa facem cu 2 de for
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Istorie,
9 ani în urmă