Dar aceasta??...
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 secundară a matricei vor primi valoarea 0 - elementele de pe prima linie, cu excepţia celui aflat pe diagonala secundară vor primi valoarea n - elementele de pe a doua linie, cu excepţia celui aflat pe diagonala secundară vor primi valoarea n-1 ... - elementele de pe ultima linie, cu excepţia celui aflat pe diagonala secundară 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.)
4 4 4 0
3 3 0 3
2 0 2 2
0 1 1 1
Nu prea am inteles cum e cu diagonalele.....
Răspunsuri la întrebare
Răspuns de
11
#include<iostream>
#include <iomanip>
using namespace std;
int main()
{
int n,i,j,a[25][25],k=0;
cin>>n;
for (i=1;i<=n;i++)
{for (j=1;j<=n;j++)
a[i][j]=n+k;
k--;
}
for(i=0;i<=n;i++)
a[i][n-i+1]=0; //elementele de pe diagonala secundara
for (i=1;i<=n;i++)
{for (j=1;j<=n;j++)
cout<<setw(4)<<a[i][j]; //afisarea cu setw() declarata in <iomanip>
cout<<endl;
}
}
#include <iomanip>
using namespace std;
int main()
{
int n,i,j,a[25][25],k=0;
cin>>n;
for (i=1;i<=n;i++)
{for (j=1;j<=n;j++)
a[i][j]=n+k;
k--;
}
for(i=0;i<=n;i++)
a[i][n-i+1]=0; //elementele de pe diagonala secundara
for (i=1;i<=n;i++)
{for (j=1;j<=n;j++)
cout<<setw(4)<<a[i][j]; //afisarea cu setw() declarata in <iomanip>
cout<<endl;
}
}
Alte întrebări interesante
Chimie,
9 ani în urmă
Chimie,
9 ani în urmă
Limba română,
9 ani în urmă
Informatică,
10 ani în urmă
Matematică,
10 ani în urmă
Matematică,
10 ani în urmă
Matematică,
10 ani în urmă