ファイルを読み、その内容を書き換えて表示するプログラムを書きたく、質問させて頂きます。
数字が1〜100までランダムで並んでいるファイルを読み込み、昇順で並べるためにはどのようにプログラムを書けばいいのでしょうか。
例)
A 100
B 3
C 5
これを、
B 3
C 5
A 100
のようにしたいです。
ファイルを読み込んで表示する所までしか出来ませんでした。
どなたか分かるかたいらっしゃいましたら、教えて下さい。
宜しくお願い致します。
読み込んだファイルの内容を書き換えて表示するプログラム
Re: 読み込んだファイルの内容を書き換えて表示するプログラム
内容の書き換えはメモリ上だけですか?それともファイルに書き込みますか?inc さんが書きました:ファイルを読み、その内容を書き換えて表示するプログラムを書きたく、質問させて頂きます。
まずはこのソースコードを貼り付けてください。inc さんが書きました:ファイルを読み込んで表示する所までしか出来ませんでした。
ヒント
qsort関数
構造体
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
-
inc
Re: 読み込んだファイルの内容を書き換えて表示するプログラム
みけCATさん
返信ありがとうございます。
qsort関数の基本的な使い方は分かったのですが、読み込んだファイルとどう結びつけるかという所が分かりませんでした。
もう少しヒントを頂いても宜しいでしょうか?
返信ありがとうございます。
内容の書き換えはメモリ上だけです。inc さんが書きました:内容の書き換えはメモリ上だけですか?それともファイルに書き込みますか?
qsort関数の基本的な使い方は分かったのですが、読み込んだファイルとどう結びつけるかという所が分かりませんでした。
もう少しヒントを頂いても宜しいでしょうか?
Re: 読み込んだファイルの内容を書き換えて表示するプログラム
無視しないでください。みけCAT さんが書きました:まずはこのソースコードを貼り付けてください。inc さんが書きました:ファイルを読み込んで表示する所までしか出来ませんでした。
まず、このような構造体を用意します。 次に、この構造体の配列を必要な数だけ確保します。 もしくは そして、この構造体にファイルのデータを読み込みます。
例 この配列をqsortでソートします。
参考http://support.microsoft.com/kb/73853/ja
よくqsort用の比較を引き算で実装している説明がありますが、オーバーフローの危険があるのでダメです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 読み込んだファイルの内容を書き換えて表示するプログラム
今回に限れば、1~100までの値しかないようなので引き算でも十分ですね。みけCAT さんが書きました:よくqsort用の比較を引き算で実装している説明がありますが、オーバーフローの危険があるのでダメです。
それと、1~100までしかないのであれば、まともにソートするより、100要素の配列に入れてから順番に出力する方がよい気がします。