8,9,10 sau macar 2din ele ..Dau 100p si coroana. C++
Răspunsuri la întrebare
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;