Scrieti un program care citeste de la tastatura un numar natural n apoi construieste in memorie si afiseaza pe ecran o matrice cu n linii si n coloane in care ficare element de pe diagonala secundara are valoarea n, fiecare element de deasupra diagonalei secundare este mai mic cu o unitate decat vecinul aflat pe aceasi linie in dreapta lui si fiecare element aflat sub diagonala secundara este mai mare cu o unitate decat vecinul aflat pe aceasi linie in stanga lui, elementele matricei vor fi afisate pe ecran, cate o linie a matricei pe cate o linie a ecranului cu cate un spatiu intre elemntele fiecarei linii.
Va rog ajutati-ma!

1

Răspunsuri

Cel mai inteligent răspuns!
2014-10-20T17:56:10+03:00
# include<iostream>
using namespace std;
int main()
{
    unsigned A[20][20],i,j,n;
    cin>>n;
   
    for(i=1;i<=n;i++)
     for(j=n;j>=1;j--)
        if(i+j==n+1)
           A[i][j]=n;

     for(i=1;i<=n;i++)
       for(j=1;j<=n;j++)
         if(i+j>n+1)
           A[i][j]=A[i][j-1]+1;

     for(i=1;i<=n;i++)
       for(j=n;j>=1;j--)
         if(i+j<n+1)
           A[i][j]=A[i][j+1]-1;

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

    return 0;

}


Am rezolvat problema asa ca sa intelegi ! Sper ca te-am ajutat .

Multumesc mult. dar ma o intrebare de ce scade j?
am*
Gata , am inteles. :)) Merci multttt
Ma bucur ca ai inteles :D .