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

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ăspunsuri la întrebare

Răspuns de andriesboss92
0

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 ]

Alte întrebări interesante