fbpx

Problema #2800 – Chenar1 – Rezolvari PBInfo

de Mihai-Alexandru

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 
#include <bits/stdc++.h>
using namespace std;
int n , m , a[51][51] , val;
int main()
{
    cin >> n >> m;
    for(int i = 1 ; i <= n ; ++i)
        for(int j = 1 ; j <= m ; ++j)
            cin >> a[i][j];
    val = a[n][m];
    for(int i = 1 ; i <= n ; ++i)
    {
        a[i][1] = val;
        a[i][m] = val;
    }
    for(int i = 1 ; i <= m ; ++i)
    {
        a[1][i] = val;
        a[n][i] = val;
    }
    for(int i = 1 ; i <= n ; ++i)
    {
        for(int j = 1 ; j <= m ; ++j)
            cout << a[i][j] << ' ';
        cout << endl;
    }
    return 0;
}
Comentarii

S-ar putea sa iti placa