• ベストアンサー

乱数とファイルの入出力の質問です。

課題で「100個の乱数を発生させファイルに保存し、そのファイルを読み込み、昇順に並べ替えするプログラムを作れ」という課題がありました。 乱数を発生させるのと、昇順に並び替える方法はわかるのですが、二つをうまく組み合わせる方法がわかりません。 ポインタを使ってファイルの入出力をするプログラムを教えてくださる方がいたら連絡ください。 出来れば模範のプログラムを掲示していただけるとうれしいです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#30727
noname#30727
回答No.2

>ポインタを使ってファイルの入出力をするプログラム ポインタの意味が良くわかりません。ヒントになるような部分を書きますので、参考にしてください。 #define FILENAME "sample.txt" #define ARRAYSIZE 100 int RandomNumber[ARRAYSIZE]; void WriteToFile() { FILE *fp; int i; fp = fopen(FILENAME, "w"); for (i = 0; i < ARRAYSIZE; i++) { fprintf(fp, "%d\n", RandomNumber[i]); } fclose(fp); } void ReadFromFile() { FILE *fp; int i; fp = fopen(FILENAME, "r"); for (i = 0; i < ARRAYSIZE; i++) { fscanf(fp, "%d", &RandomNumber[i]); } fclose(fp); }

その他の回答 (1)

  • ranx
  • ベストアンサー率24% (357/1463)
回答No.1

「組み合わせる」必要というのは、あまりないんじゃないでしょうか。 char *getFileName(); void generateRandomNumber(char *fileName); void sortFile(char *fileName); int main() {  char *fileName;  fileName = getFileName();  generateRandomNumber(fileName);  sortFile(fileName);  return 0; } みたいな感じにすれば、各サブルーチンの内容は全く他とは関係なしに できると思いますけど。

leeca0331
質問者

お礼

参考になりました。 ありがとうございました。

関連するQ&A