👤

Variabilele i și j sunt de tip întreg, iar variabila a memorează un tablou bidimensional cu 5 linii și 7 coloane, numerotate începând de la 0, cu elemente numere întregi, inițial toate egale cu 0. Fără a utiliza alte variabile decât cele menționate, scrieți o secvență de instrucțiuni prin care se transformă în memorie tabloul, astfel încât orice element aflat pe prima linie sau pe ultima coloană să aibă valoarea 1 și oricare alt element din tablou să fie egal cu ultima cifră a sumei celor două elemente alăturate lui, aflate pe aceeași linie dar pe coloana din dreapta, respectiv pe aceeași coloană, dar pe linia anterioară.

1 1 1 1 1 1 1
7 6 5 4 3 2 1
8 1 5 0 6 3 1
4 6 5 0 0 4 1
0 6 0 5 5 5 1


Răspuns :

Am gasit o solutie, nu e cea mai eficienta, probabil se face mult mai usor, dar momentan asta e singura care mi-a mers :

for(i=0;i<5;i++)

   for(j=0;j<7;j++)

        { if (i==0 || j==6)

             a[i][j]=1;

         if (i==1)

             a[i][j]=7-j;

         if (j==5)

              a[i][j]=i+1;  }

   for(i=0;i<5;i++)

    { for(j=0;j<7;j++)

         { if(a[i][j]==0 && a[i-1][j]!=0 && a[i][j+1]!=0)

                    a[i][j]=(a[i-1][j]+a[i][j+1])%10;  }

       for(j<7; j>=0; j--)

           if(a[i][j]==0)

             a[i][j]=(a[i-1][j]+a[i][j+1])%10; }