👤

Scrieţi un program care citeşte de la tastatură un număr natural n şi construieşte în memorie o matrice cu n linii şi n coloane ale cărei elemente vor primi valori după cum urmează:

elementele aflate pe diagonala principală a matricei vor primi valoarea 0
elementele de pe prima coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea n
elementele de pe a doua coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea n-1

elementele de pe ultima coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea 1
Programul citește de la tastatură numărul n.
Programul afișează pe ecran matricea construită, câte o linie a matricei pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu.


Răspuns :

#include <iostream>
using namespace std;
const int NMAX = 1000;

int m[NMAX][NMAX], n;

int main()
{
    cin >> n;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
            m[j][i] = n-i+1;

    for(int i=1; i<=n; i++) m[i][i] = 0;

    for(int i=1; i<=n; i++) {
        for(int j=1; j<=n; j++)
            cout << m[i][j];
        cout << '\n';
    }

    return 0;
}

Vă mulțumim pentru vizita pe platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Așteptăm cu entuziasm să reveniți și vă invităm să ne adăugați la lista de favorite!


Viz Lesson: Alte intrebari