ソート
読み込むファイル(sample.txt)は、
2,jirou
5,gorou
4,shirou
1,tarou
6,mutsuo
3,saburou
下記の処理をします。
#include<stdio.h>
#include<string.h>
#define N 6
int sort1[N];
char sort2[N][30];
int BubbleSort(int data[N])
{
int i,j,flag;
do{
flag=0;
for(i=0;i<N-1;i++)
{
if(data[i]>data[i+1])
{
flag=1;
j=data[i];
data[i]=data[i+1];
data[i+1]=j;
}
}
} while(flag==1);
return 0;
}
int main(void)
{
FILE *fpin;
int id,h,k;
printf("\n");
fpin=fopen("sample.txt","r");
if(fpin==NULL){
printf("ファイルをオープンできず!\n");
return 1;
}
for(k=0;k<N;k++)
{
h=fscanf(fpin,"%d,%s",&sort1[k],sort2[k]);
if(h==EOF)
break;
printf("%d %s\n",sort1[k],sort2[k]);
}
printf("\n");
BubbleSort(sort1);
for(k=0;k<N;k++)
printf("%d %s\n",sort1[k],sort2[k]);
return 0;
}
実行結果は、
2 jirou
5 gorou
4 shirou
1 tarou
6 mutsuo
3 saburou
1 jirou
2 gorou
3 shirou
4 tarou
5 mutsuo
6 saburou
名前(sort2)もソートさせるには、どうすればいいか手ほどきをお願いします…
お礼
解決できました!ありがとうございます^^