👤

v61 Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2 construieşte în memorie o matrice pătrată cu n linii şi n coloane în care ultima linie conţine,
în ordine, numerele 1,2,3,..,n, elementele situate deasupra diagonalei principale sunt
nule şi oricare alt element este obţinut prin însumarea elementelor vecine cu el, aflate pe
linia imediat următoare, pe aceeaşi coloană cu el sau pe una din coloanele alăturate.
Programul va afişa pe ecran matricea obţinută pe n linii, elementele fiecărei linii fiind
separate prin câte un spaţiu.
Exemplu: pentru n=4 pe ecran se va afişa:

27 0 0 0
9 18 0 0
3 6 9 0
1 2 3 4


Răspuns :

Răspuns:

#include <iostream>

#define nmax 17

using namespace std;

int main()

{

   int a[nmax][nmax] = {0};

   int i, j, n;

   cin >> n;

   // Scriere ultima linie

   for (j = 1; j <= n; j++)

       a[n][j] = j;

   // Scriere linii de jos in sus

   for (i = n - 1; i >= 1; i--)

       for (j = 1; j <= i; j++)

           a[i][j] = a[i + 1][j] + a[i + 1][j + 1] + a[i+1][j-1];

   // Afisare matrice

   for (i = 1; i <= n; i++)

   {

       for (j = 1; j <= n; j++)

           cout << a[i][j] << " ";

       cout << "\n";

   }

}

Explicație:

Punem elementele precizate pe ultima linie si construim matricea de jos in sus.

Vezi imaginea ANDREI750238
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Ne dorim ca informațiile furnizate să vă fi fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Revenirea dumneavoastră ne bucură, iar pentru acces rapid, adăugați-ne la favorite!


Ze Lesson: Alte intrebari