Răspuns :
Răspuns:
#include <iostream>
using namespace std;
short n,i,j,num,v[12][12];
int main()
{
cout << "n= "; cin >> n;
num=1;
for (i=1; i<n; ++i)
{
for (j=i+1; j<=n; ++j)
v[i][j]=num++;
}
num=1;
for (i=2; i<=n; ++i)
{
for (j=1; j<i; ++j)
v[i][j]=num++;
}
for (i=1; i<=n; ++i)
{
for (j=1; j<=n; ++j)
cout << v[i][j] << " ";
cout << endl;
}
return 0;
}
Explicație:
Pe diagonala principala nu am pus zerouri, deoarece matricea a fost declarată global, şi astfel automatm toate elementele ei sunt iniţializate prin 0
#include <iostream>
using namespace std;
short n,i,j,a,b,c,d,v[21][21];
int main()
{
cout << "n= "; cin >> n;
a=1;b=1; c=n; d=n;
while (a<=c)
{
for (i=a; i<=c; ++i)
v[i][b]=v[i][d]=1;
for (j=b+1; j<d; ++j)
v[a][j]=1, v[c][j]=1;
a+=2; b+=2;
c-=2; d-=2;
}
for (i=1; i<=n; ++i)
{
for (j=1; j<=n; ++j)
cout << v[i][j] << " ";
cout << endl;
}
return 0;
}
iară nu am pus zerouri, ci numai unităţi.
Dacă vrei în cod să pui totuşi zerourile atunci ciar la începutul codului, după cin >> n, scrii urm[toarele:
for (i=1; i<=n; ++i)
for (j=1; j<=n; ++j)
v[i][j]=0;
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!