• 締切済み

ファイルのデータの並べ替えについて

data.txtに入力されたA 100 B 300 C 200 D 300を 数値の大きい順に並べて、data2.txtに出力するプログラムを作成したいのですが何をすればいいのかわかりません。 一応、data.txtファイルはプログラムできました。 ヒントだけでもいいので教えてください。 あと、同点の場合はアルファベット順にしたいです。 よろしくご指導お願いします<(_ _)>

みんなの回答

  • HOGERA3
  • ベストアンサー率35% (50/139)
回答No.2

構造体を定義する。 typedef struct data {   char name;   int point; } Data; んで、Data型の比較を行う関数も作って (数値順で、同点だったらアルファベット順でってやつ) ライブラリ関数qsort()を使う。

gurizuri4649
質問者

お礼

返答ありがとうございます。 構造体はまだ勉強中なのでちょっと難しいです。 あと、ライブラリ関数もまだ勉強していません。

  • 12m24
  • ベストアンサー率23% (193/817)
回答No.1

 名前がこのような一文字の場合は、名前をname、点数をpointとして、読み込むときに「fscanf("%c %d",&name,&point);」とすると、1行ずつ読んでくれます。これを入れたい配列などに読み替えて、繰り返していけばいいかと思います。

gurizuri4649
質問者

お礼

返答ありがとうございます。やってみます!