[C프로그래밍] 가로, 세로 배열 최대값 구하기



 


#include  <stdio.h>

void  calc_max(int  *,int,  int);

main()
{
FILE  *fi;
int  arr[50];
int  i,  j,x,  y;
fi  =  fopen("in.txt","r");
i  =  1;
while(!feof(fi))
{
fscanf(fi,"%d",&arr[i]);
i++;
}
x  =  arr[1];
y  =  arr[2];

calc_max(arr,x,y);
fclose(fi);
}

void  calc_max(int  *ar,int  x,  int  y)
{
FILE  *fo;
int  i,  j,  tnum,  maxnum;

fo  =  fopen("out.txt","w");
fprintf(fo,"\n      %d      %d\n\n",x,  y);
for(i  =  0;i<x;i++)
{
maxnum  =  0;
for(j  =  0;j<y;j++)
{
tnum  =  ar[3  +  (y*i)  +  j];
if(tnum>maxnum)
{
maxnum  =  tnum;
}
fprintf(fo,"%4d",tnum);
}
fprintf(fo,"  |    %d\n",maxnum);
}
for(i=0;i<y;i++){
fprintf(fo,"----");
}
fprintf(fo,"--\n");
for(i  =  0;i<y;i++)
{
maxnum  =  0;
for(j  =  0  ;  j<x;j++)
{
tnum  =  ar[3  +  (y*j)  +  i];
if(tnum>maxnum)
{
maxnum  =  tnum;
}
}
fprintf(fo,"%4d",maxnum);
}
printf("FILE  WRITE  COMPLETE....\n");
fclose(fo);
}
--------------------------------------------------
3  4        ->  in.txt  파일에  있는  내용
12  5  8  9
2  7  13  6
4  9  11  8


      3      4        ->  out.txt에  저장되는  내용

    12      5      8      9  |    12
      2      7    13      6  |    13
      4      9    11      8  |    11
------------------
    12      9    13      9


파일의  정보를  읽어서  배열을  입력  받아
배열을  출력하고
가로  세로의  각  행  및  열의  최대값을  구해서
출력하는  프로그램

대학  시절  과제물  -  뜬금  없이  파일  입출력을
하라는  교수님의  지시사항에..
황당해  했다는...

 

 [ 등록일 : 2009-08-11 23:4 ]  

 

 

[목록]