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

#2800 chenar1 de pe pbinfo va rog:
Cerința
Scrieți un program care citește de la tastatură două numere naturale din intervalul [3,50], n și m, și elementele unui tablou bidimensional cu n linii și m coloane, numere naturale din intervalul [0,104].

Programul modifică în memorie tabloul dat, atribuind valoarea elementului aflat pe ultima linie și pe ultima coloană a tabloului fiecărui element aflat pe conturul acestuia (pe prima linie, ultima linie, prima coloană, ultima coloană), apoi afișează pe ecran tabloul modificat, câte o linie a tabloului pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spațiu.

Date de intrare
Programul citește de la tastatură numerele n m, iar apoi cele n • m elemente ale tabloului.

Date de ieșire
Programul va afișa pe ecran elementele tabloului modificat, conform cerinței.

Restricții și precizări
3 ≤ n,m ≤ 50
elementele tabloului aparțin intervalului [0,104]

Exemplu
Intrare

5 4
0 5 2 11
3 2 10 2
7 3 1 4
4 5 0 12
8 13 7 5
Ieșire

5 5 5 5
5 2 10 5
5 3 1 5
5 5 0 5
5 5 5 5

Răspunsuri la întrebare

Răspuns de boiustef
9

#include <iostream>

using namespace std;

int a[51][51], n, m, i ,j;

int main()

{

   cin >> n >> m;

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

   {

       for (j=0; j<m; ++j)

           cin >> a[i][j];

   }

   int t=a[n-1][m-1];

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

   {

       for (j=0; j<m; ++j)

       {

           if (i==0 || i==n-1 || j==0 || j==m-1)

               a[i][j]=t;

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

       }

       cout << endl;

   }

}

Alte întrebări interesante