Advertisement
lIlIlIlIIlI

Introduction_multiArray

Sep 15th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.47 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int** constructMDP(int r, int c);
  5. void printMDA(int m[][2], int n);
  6. void printMDP(int** m, int r, int c);
  7.  
  8. void printMDA(int m[][2], int n){ // { {1,2}, {3,4}, {5,6} }, 3
  9.     int i = 0;
  10.     int j;
  11.     while( i < n ){
  12.         j = 0;
  13.         while( j < 2 ){
  14.             printf("m[%d][%d] = %d\n", i, j, m[i][j]);
  15.             j++;
  16.         }
  17.         i++;
  18.     }
  19. }
  20.  
  21. void printMDP(int** m, int r, int c){ // { {1,2}, {3,4}, {5,6} }, 4, 3
  22.     int i = 0;
  23.     int j;
  24.     while( i < r ){
  25.         j = 0;
  26.         while( j < c ){
  27.             printf("m[%d][%d] = %d\n", i, j, m[i][j]);
  28.             j++;
  29.         }
  30.         i++;
  31.     }
  32. }
  33.  
  34. int** constructMDP(int r, int c){
  35.     int i = 0;
  36.     int **ans = malloc( r * sizeof(int*) );
  37.     while( i < r ){
  38.         ans[i] = malloc( c * sizeof(int) );
  39.         i++;
  40.     }
  41.     return ans;
  42. }
  43.  
  44. int main(void){
  45.     int marr[3][2] = { {1,2}, {3,4}, {5,6} };
  46.     printMDA(marr, 3);
  47.     // marr有3個元素,每個元素有2個元素。
  48.     int** mptr = constructMDP(4, 3);  
  49.     // mptr是一個指標int*的陣列,含有4個元素(指標int*)。
  50.     // mptr[0]是一個int的指標(陣列),有3個元素(int)。
  51.     int *p;
  52.     int i, j = 0;
  53.    
  54.     for(i = 0; i < 4; i++)
  55.         for(j = 0; j < 3; j++) mptr[i][j] = i*(1+j);
  56.     printMDP(mptr, 4, 3);
  57.     return 0;  
  58. }
  59.  
  60. /*
  61. printMDA()
  62.  
  63. m[0][0] = 1
  64. m[0][1] = 2
  65. m[1][0] = 3
  66. m[1][1] = 4
  67. m[2][0] = 5
  68. m[2][1] = 6
  69. */
  70.  
  71. /*
  72. printMDP()
  73.  
  74. m[0][0] = 0
  75. m[0][1] = 0
  76. m[0][2] = 0
  77. m[1][0] = 1
  78. m[1][1] = 2
  79. m[1][2] = 3
  80. m[2][0] = 2
  81. m[2][1] = 4
  82. m[2][2] = 6
  83. m[3][0] = 3
  84. m[3][1] = 6
  85. m[3][2] = 9
  86. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement