Informatică, întrebare adresată de anthanasscofield, 9 ani în urmă

v19. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2 construieşte în memorie şi afişează pe ecran o matrice cu n linii şi n coloane, numerotate
de la 1 la n, în care fiecare element aflat pe o linie impară este egal cu suma dintre indicii
liniei şi coloanei pe care se află şi fiecare element aflat pe o linie pară este egal cu cel mai
mic dintre elementele aflate pe linia anterioară şi pe aceeaşi coloană cu el sau pe linia
anterioară şi pe una dintre coloanele vecine cu cea pe care se află el.
5.
Elementele matricei vor fi afişate 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.
Exemplu: pentru n=5 se va afişa matricea alăturată.
2 3 4 5 6
2 2 3 4 5
4 5 6 7 8
4 4 5 6 7
6 7 8 9 10

Răspunsuri la întrebare

Răspuns de schmollstefan
0
int main()
{
int a[50][50],n,i,j
cin>>n;
for(i=1;i<=n;i++)
 for(j=1;<=n;j++)
    if(i%2!=0)
       a[i][j]=i+j;
    else
        {
          if((a[i-1][j-1]<a[i-1][j])&&(a[i-1][j-1]<a[i-1][j+1]))
               a[i][j]=a[i-1][j-1];
         if((a[i-1][j-1]>a[i-1][j])&&(a[i-1][j]<a[i-1][j+1]))
               a[i][j]=a[i-1][j];
         if((a[i-1][j-1]>a[i-1][j+1])&&(a[i-1][j]>a[i-1][j+1]))
               a[i][j]=a[i-1][j+1];
        }
for(i=1;i<=n;i++)
{
cout<<endl;
 for(j=1;<=n;j++)
   cout<<a[i][j]<<" ";
}
}


Alte întrebări interesante