Informatică, întrebare adresată de anthanasscofield, 9 ani în urmă

crieţi un program C/C++ care citeşte de la tastatură un număr natural cu exact 5 cifre şi
construieşte în memorie o matrice pătrată cu 6 linii şi 6 coloane, numerotate de la 1 la 6,
formată astfel:
- elementele aflate pe diagonala principală sunt toate nule;
- elementele de pe linia 1, aflate deasupra diagonalei principale precum şi elementele de pe
coloana 1, aflate sub diagonala principală au toate valoarea egală cu cifra unităţilor
numărului citit;
- elementele de pe linia 2, aflate deasupra diagonalei principale precum şi elementele de pe
coloana 2, aflate sub diagonala principală au toate valoarea egală cu cifra zecilor numărului
citit, şi aşa mai departe, ca în exemplu.
5.
Matricea astfel construită va fi afişată pe ecran, câte o linie a
matricei pe câte o linie a ecranului, elementele de pe aceeaşi
linie fiind separate prin câte un spaţiu.
Exemplu: dacă se citeşte numărul 28731 matricea construită va
fi cea scrisă alăturat.

0 1 1 1 1 1
1 0 3 3 3 3
1 3 0 7 7 7
1 3 7 0 8 8
1 3 7 8 0 2
1 3 7 8 2 0

Răspunsuri la întrebare

Răspuns de radutanasa86
4
#include <iostream>
#define nmax 1005
using namespace std;
int a[nmax][nmax],cifre[nmax];
int main()
{
    int n,i,j,s=0,n1;
    cin>>n;
    n1=n;
    while(n1>0)
    {
        cifre[++s]=n1%10;
        n1/=10;
    }
    ///de sub diag principala
    for(i=1;i<=6;i++)
        for(j=i+1;j<=6;j++)
          a[j][i]=cifre[i];
    ///deasupra diag principale
    for(i=1;i<=6;i++)
        for(j=i+1;j<=6;j++)
          a[i][j]=cifre[i];
    for(i=1;i<=6;i++)
    {
        for(j=1;j<=6;j++)
            cout<<a[i][j]<<" ";
        cout<<"\n";
    }
}
Alte întrebări interesante