2次元配列 後、一歩なのです!!
Posted: 2013年10月21日(月) 18:41
#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_max_2( 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] );
}
f_max_2( row, col, dat );
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;
for( j = 0; j < col; j++ ){
sum = 0;
for( i = 0; i < row; i++ ){
sum += dat[i][j];
}
printf( " %.1f",(double)sum/row );
}
}
void f_max_2( int row, int col, int dat[][5] )
{
int i, j, k;
int Amax_2[3], max_2[3];
for( i = 0; i < row; i++ ){
for( j = 0; j < col; j++ ){
if( dat[i][j] > max_2[i] ){
max_2[i] = dat[i][j];
Amax_2[i] = max_2[i];
}
}
printf("%4d",Amax_2[i]);
}
}
↓この横3つの数字が縦に1ずつだけ表示したいんです
41 67 34 0 69 69 78 81
24 78 58 62 64 69 78 81
5 45 81 27 61 69 78 81
41 78 81 62 69
5 45 34 0 61
23.3 63.3 57.7 29.7 64.7
今回教えていただきたいのは、69 78 81の部分です
この表示を一回だけ縦に表示したいです
お願いします、わかんないです