Informatică, întrebare adresată de stimululderas2014, 8 ani în urmă

Va rog sa scrieti programul complet!!

Anexe:

Răspunsuri la întrebare

Răspuns de bobita25
2

Răspuns:

#include <iostream>

using namespace std;

int main() {

   int n, x; cin >> n >> x;

   int a[n][n];

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

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

 {

  if(i == 1 || j == 1)

   a[i][j] = x;

  else{

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

  }

 }

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

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

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

 cout << endl;

}

  return 0;

}

Explicație:

Structura repetitiva for incepe de la i si j, ambele egale cu 1, pana la n, fiind o matrice patratica. Conditia de la if, "if(i == 1 || j == 1)" este pentru a verifica daca ne aflam pe prima coloana sau pe prima linie, in acest caz, a[i][j] va fi x.

Daca nu ne aflam pe prima linie sau pe prima coloana, a[i][j] va fi suma dintre elementul de pe aceeasi linie, dar pe coloana precedenta ( a[i][j - 1] ) si elementul de pe aceeasi coloana, dar pe linia precedenta ( a[i - 1][j] ). Aceste doua elemente reprezentand vecinii lui a[i][j].

Exemplu:
x = 2
a[1][1] = 2
a[1][2] = 2
a[2][1] = 2
a[2][2] = a[2][1] + a[1][2] = 2 + 2 = 4

Fact: Cand x = 1, matricea noastra este asemanatoare cu triunghiul lui Pascal :)

Alte întrebări interesante