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

A 回答 (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);
}
    • good
    • 0

「組み合わせる」必要というのは、あまりないんじゃないでしょうか。



char *getFileName();
void generateRandomNumber(char *fileName);
void sortFile(char *fileName);
int main()
{
 char *fileName;
 fileName = getFileName();
 generateRandomNumber(fileName);
 sortFile(fileName);
 return 0;
}

みたいな感じにすれば、各サブルーチンの内容は全く他とは関係なしに
できると思いますけど。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/10/13 20:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報