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

Va rog mult, in C++!!!!
Cerinţa
Scrieţi un program care citeşte de la tastatură un număr natural n şi construieşte în memorie o matrice cu n linii şi n coloane ale cărei elemente vor primi valori după cum urmează:

elementele aflate pe diagonala principală a matricei vor primi valoarea 0
elementele de pe prima coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea n
elementele de pe a doua coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea n-1

elementele de pe ultima coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea 1
Date de intrare
Programul citește de la tastatură numărul n.

Date de ieşire
Programul afișează pe ecran matricea construită, 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.

Restricţii şi precizări
2≤n≤24

Răspunsuri la întrebare

Răspuns de HariSeldon
3
   Construim matricea cu linii si coloane de la 1 la n
   Intr-o matrice de acest tip ca un element sa fie pe diag principala indicele de line trebuie sa fie egal cu indicele de coloana i==j.
  Asadar daca i==j atunci a[i][j] = 0. 
  Celalate elemente vor primi n+1-j 
  n este citit in main si matricea a[25][25] declarata de asemenea in main
 
  void construireMatrice(int a[][25], int n)
{
  int i,j;
  for(i=1;i<=n;i++)
  {  for(j=1;j<=n;j++)
      { if(i==j)
           a[i][j] = 0;
        else
           a[i][j] = n+1-j;
      }
   }
}
 Functia de tiparire si functia main sper ca stii sa le scrii singur.

 

Alte întrebări interesante