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

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