home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / dos / prg / alb_c10 / chap_09 / ch09_09.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-27  |  2.0 KB  |  111 lines

  1. /*********************************************************************
  2. *  CH09_09.C                              Addition de deux matrices  *
  3. *                  En utilisant la notation des tableaux  *
  4. *********************************************************************/
  5.  
  6. #include<stdio.h>
  7.  
  8. #define dim1 2
  9. #define dim2 3
  10.  
  11. int LitInt( void);
  12. void Initialise( int[][dim2]);
  13. void Affiche( int[][dim2]);
  14. void Addition( int [][dim2], int [][dim2], int [][dim2]);
  15.  
  16. main( void)
  17. {
  18.     int tab0[dim1][dim2], tab1[dim1][dim2], tab2[dim1][dim2];
  19.  
  20.     Initialise( tab1);
  21.     Initialise( tab2);       
  22.  
  23.     Addition( tab0, tab1, tab2);   
  24.  
  25.     Affiche( tab0);
  26. }
  27.  
  28. void Addition( int t0[][dim2], int t1[][dim2], int t2[][dim2])
  29. {
  30.       int i, j;
  31.  
  32.       for( i= 0; i< dim1; i++)
  33.       {
  34.           for( j= 0; j< dim2; j++)
  35.       {
  36.          t0[i][j]=  t1[i][j]+ t2[i][j];
  37.       }
  38.       }
  39. }
  40.  
  41. void Initialise( int t[][dim2])
  42. {
  43.       int i, j;
  44.  
  45.       printf("\n Initialisation d'une matrice [%d][%d]\n",
  46.                                      dim1, dim2);
  47.  
  48.       for( i= 0; i< dim1; i++)
  49.       {
  50.           for( j= 0; j< dim2; j++)
  51.       {
  52.          printf(" tab[%d][%d]=  ", i, j);
  53.          t[i][j]= LitInt();
  54.       }
  55.       }
  56. }
  57.  
  58. void Affiche( int t[][dim2])
  59. {
  60.       int i, j;
  61.  
  62.       for( i= 0; i< dim1; i++)
  63.       {
  64.           for( j= 0; j< dim2; j++)
  65.       {
  66.          printf("\n tab[%d][%d]=  %d", i, j, t[i][j]);
  67.       }
  68.       }
  69. }
  70.  
  71. int LitInt( void)
  72. {
  73.     double dble;
  74.     do
  75.         {
  76.        while( scanf("%lf", &dble)!= 1)
  77.         while( getchar() != '\n');
  78.        while( getchar() != '\n');
  79.     }
  80.     while( dble< -32768.0 || dble> 32767.0);
  81.     return ( (int) dble);
  82. }
  83.  
  84. /*
  85.  Initialisation d'une matrice [2][3]
  86.  tab[0][0]=  0
  87.  tab[0][1]=  1
  88.  tab[0][2]=  2
  89.  tab[1][0]=  3
  90.  tab[1][1]=  4
  91.  tab[1][2]=  5
  92.  
  93.  Initialisation d'une matrice [2][3]
  94.  tab[0][0]=  5
  95.  tab[0][1]=  4
  96.  tab[0][2]=  3
  97.  tab[1][0]=  2
  98.  tab[1][1]=  1
  99.  tab[1][2]=  0
  100.  
  101.  tab[0][0]=  5
  102.  tab[0][1]=  5
  103.  tab[0][2]=  5
  104.  tab[1][0]=  5
  105.  tab[1][1]=  5
  106.  tab[1][2]=  5                               */
  107.  
  108.  
  109.  
  110.  
  111.