csvファイルを読み込んで、そのデータを降順に並び替えて別ファイルに保存するプログラムについて教えてください。
佐藤 1.5 2 4.2 12
鈴木 1.2 5 4.8 15
高橋 1.4 7 4.4 11
というcsvファイルがあるとして、この4.2・4.8・4.4を降順に並び替え、
それに応じて他の要素も入れ替え、新たにcsvファイルを作成し保存するには
どのようなプログラムになりますか?
最終的に以下のようになれば良いのですが。
鈴木 1.2 5 4.8 15
高橋 1.4 7 4.4 11
佐藤 1.5 2 4.2 12
#include<stdio.h>
#define NUMBER 200
typedef struct{
char s1[100]
int n1, n2;
float f1, f2;
}test;
int main (void)
{
FILE *fp;
char fname[20];
int n=0;
test base[NUMBER];
printf("ファイルを入力してください。:");
scanf("%s",fname);
fp = fopen(fname, "r");
if(fp == NULL)
printf("%sファイルが開けません\n", fname);
while(fscanf( fp, "%[^,],f1,n1,f2,n2",
base[n].s1,&base[n].f1,&base[n].n1,
&base[n].f2,&base[n].n2)!=EOF){
printf("%s,%f,%d,%f,%d",
base[n].s1,base[n].f1,base[n].n1,
base[n].f2,base[n].n2);
}
fclose(fp);
return 0;
}
ここから降順に並び替えて新たなファイルを作成し書き込むプログラムが分かりません。
使用しているのはwindows、Microsoft Visual C++ 2010 Expressです。
C言語初心者の質問ですみません。
よろしくお願いします。