#include "stdio.h"
#include "stdlib.h"
//関数のプロトタイプ宣言
void f_init( int, int, int [][5] );
void f_pout( int, int, int [][5] );
void f_max( int , int , int [][5] );
void f_min( int, int, int [][5] );
void f_ave( int , int , int [][5] );
int main()
{
int row = 3, col = 5;
int data1[3][5];
f_init( row, col, data1 );
f_pout( row, col, data1 );
printf("\n");
f_max( row, col, data1 );
f_min( row, col, data1 );
f_ave( row, col, data1 );
return 1;
}
void f_init( int row, int col, int dat[][5] )
{
int i, j;
for( i = 0; i < row; i++ )
{
for( j = 0; j < col; j++ )
{
dat[i][j] = rand() % 100;
}
}
}
void f_pout( int row, int col, int dat[][5] )
{
int i, j;
for( i = 0; i < row; i++ )
{ for( j = 0; j < col; j++ )
{
printf( "%4d", dat[i][j] );
}
printf( "\n" );
}
}
void f_max( int row, int col, int dat[][5] )
{
int i, j, k;
int Amax[5], max[5];
for( i = 0; i < row; i++ ){
for( j = 0; j < col; j++ ){
if( dat[i][j] > max[j] ){
max[j] = dat[i][j];
Amax[j] = max[j];
}
}
}
for( k = 0; k < col; k++ ){
printf("%4d", Amax[k]);
}
printf("\n");
}
void f_min( int row, int col, int dat[][5] )
{
int i, j, k;
int Amin[5], min[5] = {99,99,99,99,99} ;
for( i = 0; i < row; i++ ){
for( j = 0; j < col; j++ ){
if( dat[i][j] < min[j] ){
min[j] = dat[i][j];
Amin[j] = min[j];
}
}
}
for( k = 0; k < col; k++ ){
printf("%4d", Amin[k]);
}
printf("\n");
}
void f_ave( int row, int col, int dat[][5] )
{
int i, j;
int sum = 0;
int Asum[5];
for( i = 0; i < row; i++ ){
for( j = 0; j < col; j++ ){
sum = dat[i][j];
Asum[j] = (double)sum / 3;
printf("%4d", Asum[j]);
}
printf("\n");
}
}
}
/*2次元配列*/
41 67 34 0 69
24 78 58 62 64
5 45 81 27 61
/*max値*/
41 78 81 62 69
/*min値*/
5 45 34 0 61
/*平均値???*/
13 22 11 0 23
8 26 19 20 21
1 15 27 9 20
この平均値がうまくいきません
この表示3つ足してなおかつdouble型で表示がしたいんですが、、、
ご教授願えませんでしょうか
お願いします