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

Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2 construieşte în memorie o matrice cu n linii şi n coloane, numerotate de la 1 la n, în care
fiecare element aflat pe chenarul exterior al matricei este egal cu suma dintre linia şi
coloana pe care se află, iar fiecare dintre celelalte elemente este egal cu suma celor trei
“vecini” situaţi în matrice pe linia anterioară. Două elemente din matrice se numesc vecine
dacă se găsesc alături pe linie, coloană sau diagonală. Chenarul exterior al unei matrice
este format din prima linie, ultima linie, prima coloană şi ultima coloană.
5.
Elementele matricei vor fi afişate pe ecran, câte o linie a
matricei pe câte o linie a ecranului cu câte un spaţiu între
elementele fiecărei linii.
Exemplu: pentru n=5 se va obţine matricea alăturată


2 3 4 5 6
3 9 12 15 7
4 24 36 34 8
5 64 94 78 9
6 7 8 9 10

Răspunsuri la întrebare

Răspuns de express
3
#include <iostream>

using namespace std;
int a[16][16], n, i, j;

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

      for (j = 1; j <= n; j++)
       {
          if (( i == 1 ) || ( i == n) || ( j == 1 ) || ( j == n )) a[i][j] = i + j;
          else a[i][j] = a[i - 1][j - 1] + a[i - 1][j] + a[i - 1][j + 1];
       }
    }
     for (i = 1; i <= n; i++)
      { for (j = 1; j <= n; j++)
           cout << a[i][j] << " ";
             cout << "\n";
      }

    return 0;
}

Alte întrebări interesante