Previous Next Up Index Contents

Exercice 9.15

#include <stdio.h>
main()
{   
 /* Déclarations */
 int A[50][50];  /* matrice */
 int N, M; /* dimensions de la matrice */
 int I, J; /* indices courants */    
 /* Saisie des données */
 printf("Nombre de lignes   (max.50) : ");
 scanf("%d", &N );
 printf("Nombre de colonnes (max.50) : ");
 scanf("%d", &M );
 /* Lecture de la matrice au clavier */
 for (I=0; I<N; I++)
   for (J=0; J<M; J++)
      {
       printf("Elément[%d][%d] : ",I,J);
       scanf("%d", (int *)A+I*50+J);
      }
 
 /* a) Affichage de la matrice */
  printf("Matrice donnée :\n");
 for (I=0; I<N; I++)
   {
    for (J=0; J<M; J++)
        printf("%7d", *((int *)A+I*50+J));
    printf("\n");
   }
 
 /* b) Affichage de la transposée de A */
  printf("Matrice transposée :\n");
 for (J=0; J<M; J++)
   {
    for (I=0; I<N; I++)
        printf("%7d ", *((int *)A+I*50+J));
    printf("\n");
   }
 
 /* c) Interprétation de la matrice comme vecteur : */
 /* Attention, ce serait une faute grave d'afficher */
 /*'simplement' les NxM premiers éléments de A !    */
  printf("Matrice affichée comme vecteur :\n");
 for (I=0; I<N; I++)
    for (J=0; J<M; J++)
        printf(" %d ", *((int *)A+I*50+J));
 printf("\n");
 return 0;
}


Previous Next Up Index Contents

Feedback - Copyright © 1993,1996,1997 F.Faber