👤

Se consideră tabloul A [20][20] de numere întregi. Să se scrie un program
care creează un tablou unidimensional din elementele diagonale principale.
(Tablouri bidimensionale)
DE dorit sa fie facut in C.


Răspuns :

Răspuns:

#include <stdio.h>

#include <stdlib.h>

int main()

{

   int i, n, nule=0, v[20], A[20][20];

   printf("n = ");

   scanf("%d",&n);

   // citim elementele matricei

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

       for(int j = 0; j < n; j++ )

           scanf("%d",&A[i][j]);

           

   // pentru a accesa diagonala principala in matrice parcurgem cu un for si folosim A[i][i]

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

       v[i]=A[i][i];

       

   printf("Vectorul format din elementele diag principala este:\n");

   

   // afisare vector

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

       printf("%d ",v[i]);

}

Explicație:

Pentru a accesa elementele de pe diagonala secundara faci in felul urmator:

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

   for(j=i+1;j<n;j++)

         if( i == j )

               prelucrez A[ i ][ j ]

SAU

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

   prelucrez A[ i ][ i ]