매장별 실적을 초기화 후 평균치를 구해 평균값순으로 정렬하여 출력.
#include <stdio.h>
void setAverage(int nABranch[][7]);
void printData(int nABranch[4][7],char szBranchName[4][10]);
void sortData(int nABranch[4][7],char szBranchName[4][10]);
int main(void)
{
int nABranch[4][7] = {{70,45,100,92,150,81,0},
{88,92,77,30,52,55,0},
{50,90,88,75,77,49,0},
{120,92,80,150,130,105,0}
}; // 4개 지점의 1~6월달까지 실적과 평균
char szBranchName[4][10] = {"NIKE","ADIDAS","ABCMART","PUMA"};
setAverage(nABranch);
printf("Before sorting.\n");
printData(nABranch, szBranchName);
printf("After sorting\n");
sortData(nABranch, szBranchName);
return 0;
}
void setAverage(int nABranch[4][7])
{
int i, k;
int nTeampTotal = 0;
for(i=0;i<4;i++)
{
for(k=0;k<6;k++)
{
nTeampTotal = nTeampTotal + nABranch[i][k];
}
nABranch[i][6] = (int)( (( nTeampTotal) / 6.0)+0.5 );
nTeampTotal = 0; //요소들의 합 초기화
}
}
void printData(int nABranch[][7], char szBranchName[][10])
{
int i, k;
for(i=0;i<4;i++)
{
printf("%s\t",szBranchName[i]);
for(k=0;k<7;k++)
{
printf("%d\t",nABranch[i][k]);
}
printf("\n");
}
printf("\n");
printf("\n");
}
void sortData(int nABranch[][7], char szBranchName[][10])
{
int i, k;
int *pnABranch[4];
int *pTemp;
char *pszBranchName[4];
char *pTempName;
for(i=0;i<4;i++) // 위치 초기화
{
pnABranch[i] = nABranch[i];
pszBranchName[i] = szBranchName[i];
}
for(i=0;i<3;i++)
{
for(k = i+1;k<4;k++)
{
if(pnABranch[i][6] < pnABranch[k][6])
{
pTemp = pnABranch[i];
pnABranch[i] = pnABranch[k];
pnABranch[k] = pTemp;
pTempName = pszBranchName[i];
pszBranchName[i] = pszBranchName[k];
pszBranchName[k] = pTempName;
}
}
}
for(i=0;i<4;i++)
{
printf("%s\t",pszBranchName[i]);
for(k=0;k<7;k++)
{
printf("%d\t",pnABranch[i][k]);
}
printf("\n");
}
}
댓글 없음:
댓글 쓰기