Informatică, întrebare adresată de alecserazvan, 8 ani în urmă

8,9,10 sau macar 2din ele ..Dau 100p si coroana. C++

Anexe:

Răspunsuri la întrebare

Răspuns de boiustef
0

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;

Alte întrebări interesante