fork download
  1. #include "stdio.h"
  2. #include "stdlib.h"
  3.  
  4. //関数のプロトタイプ宣言
  5. void f_init( int, int, int [][5] );
  6. void f_pout( int, int, int [][5] );
  7. void f_max( int , int , int [][5] );
  8. void f_max_2( int , int , int [][5] );
  9. void f_min( int, int, int [][5] );
  10. void f_min_2( int , int , int [][5] );
  11. void f_ave( int , int , int [][5] );
  12. void f_ave_2( int , int , int [][5] );
  13.  
  14. int main()
  15. {
  16. int row = 3, col = 5;
  17. int data1[3][5];
  18.  
  19. printf("data max min ave\n");
  20. f_init( row, col, data1 );
  21. f_pout( row, col, data1 );
  22. printf("\n");
  23. f_max( row, col, data1 );
  24. f_min( row, col, data1 );
  25. f_ave( row, col, data1 );
  26.  
  27. return 1;
  28. }
  29.  
  30. void f_init( int row, int col, int dat[][5] )
  31. {
  32. int i, j;
  33.  
  34. for( i = 0; i < row; i++ ){
  35. for( j = 0; j < col; j++ ){
  36. dat[i][j] = rand() % 100;
  37. }
  38. }
  39. }
  40.  
  41. void f_pout( int row, int col, int dat[][5] )
  42. {
  43. int i, j;
  44.  
  45. for( i = 0; i < row; i++ ){
  46. printf( " " );
  47. for( j = 0; j < col; j++ ){
  48. printf( "%5d", dat[i][j] );
  49. }
  50. if( i == 0 ){
  51. f_max_2( row, col, dat );
  52. f_min_2( row, col, dat );
  53. f_ave_2( row, col, dat );
  54. }
  55. printf( "\n" );
  56. }
  57. }
  58.  
  59. void f_max( int row, int col, int dat[][5] )
  60. {
  61. int i, j, k;
  62. int Amax[5], max[5];
  63.  
  64. printf( "max" );
  65. for( i = 0; i < row; i++ ){
  66. for( j = 0; j < col; j++ ){
  67. if( dat[i][j] > max[j] ){
  68. max[j] = dat[i][j];
  69. Amax[j] = max[j];
  70. }
  71. }
  72. }
  73. for( k = 0; k < col; k++ ){
  74. printf( "%5d", Amax[k] );
  75. }
  76. printf( "\n" );
  77. }
  78.  
  79. void f_min( int row, int col, int dat[][5] )
  80. {
  81. int i, j, k;
  82. int Amin[5], min[5] = { 99, 99, 99, 99, 99 } ;
  83.  
  84. printf( "min" );
  85. for( i = 0; i < row; i++ ){
  86. for( j = 0; j < col; j++ ){
  87. if( dat[i][j] < min[j] ){
  88. min[j] = dat[i][j];
  89. Amin[j] = min[j];
  90. }
  91. }
  92. }
  93. for( k = 0; k < col; k++ ){
  94. printf( "%5d", Amin[k] );
  95. }
  96. printf( "\n" );
  97. }
  98.  
  99. void f_ave( int row, int col, int dat[][5] )
  100. {
  101. int i, j, sum;
  102.  
  103. printf( "ave " );
  104. for( j = 0; j < col; j++ ){
  105. sum = 0;
  106. for( i = 0; i < row; i++ ){
  107. sum += dat[i][j];
  108. }
  109. printf( "%5.1f", (double)sum / row );
  110. }
  111. printf( "\n" );
  112. }
  113.  
  114. void f_max_2( int row, int col, int dat[][5] )
  115. {
  116. int i, j;
  117. int Amax_2[3], max_2[3];
  118.  
  119. for( i = 0; i < row; i++ ){
  120. for( j = 0; j < col; j++ ){
  121. if( dat[i][j] > max_2[i] ){
  122. max_2[i] = dat[i][j];
  123. Amax_2[i] = max_2[i];
  124. }
  125. }
  126. printf( "%5d",Amax_2[i] );
  127. }
  128. }
  129. void f_min_2( int row, int col, int dat[][5] )
  130. {
  131. int i, j;
  132. int Amin_2[3], min_2[3] = {99,99,99};
  133.  
  134. for( i = 0; i < row; i++ ){
  135. for( j = 0; j < col; j++ ){
  136. if( dat[i][j] < min_2[i] ){
  137. min_2[i] = dat[i][j];
  138. Amin_2[i] = min_2[i];
  139. }
  140. }
  141. printf( "%5d", Amin_2[i] );
  142. }
  143. }
  144.  
  145. void f_ave_2( int row, int col, int dat[][5] )
  146. {
  147. int i, j;
  148. int sum;
  149.  
  150. for( i = 0; i < row; i++ ){
  151. sum = 0;
  152. for( j = 0; j < col; j++ ){
  153. sum += dat[i][j];
  154. }
  155. printf( "%5.1f", (double)sum / col );
  156. }
  157. }
Runtime error #stdin #stdout 0s 2292KB
stdin
Standard input is empty
stdout
data                          max  min  ave
      83   86   77   15   93   93   92   90   15   21   27 70.8 56.6 60.2
      35   86   92   49   21
      62   27   90   59   63

max   83   86   92   63   93
min   35   27   77   15   21
ave   60.0 66.3 86.3 41.0 59.0