Cum as putea rezolva aceasta problema?
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2≤n≤24) ş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 va afişa matricea astfel construită 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 (ca în exemplu). Exemplu: pentru n=4 se va afişa matricea alăturată. (10p.)
0 3 2 1
4 0 2 1
4 3 0 1
4 3 2 0
Răspunsuri la întrebare
Răspuns de
25
#include<iostream>
#include <iomanip>
using namespace std;
int main()
{
int n,i,j,a[25][25],k=0;
cin>>n;
for (j=1;j<=n;j++)
{for (i=1;i<=n;i++)
a[i][j]=n+k;
k--;
}
for(i=0;i<=n;i++)
a[i][i]=0; //elementele de pe diagonala principala
for (i=1;i<=n;i++)
{for (j=1;j<=n;j++)
cout<<setw(4)<<a[i][j]; //afisarea cu spatii, declarata cu <iomanip>
cout<<endl;
}
}
#include <iomanip>
using namespace std;
int main()
{
int n,i,j,a[25][25],k=0;
cin>>n;
for (j=1;j<=n;j++)
{for (i=1;i<=n;i++)
a[i][j]=n+k;
k--;
}
for(i=0;i<=n;i++)
a[i][i]=0; //elementele de pe diagonala principala
for (i=1;i<=n;i++)
{for (j=1;j<=n;j++)
cout<<setw(4)<<a[i][j]; //afisarea cu spatii, declarata cu <iomanip>
cout<<endl;
}
}
Alte întrebări interesante
Chimie,
8 ani în urmă
Limba română,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
9 ani în urmă
Geografie,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă