目次から探す
ファイルから読み込んだデータを線形探索する方法
ファイルからデータを読み込む
ファイルからデータを読み込むには、まずファイルを開く必要があります。
fopen関数
を使用してファイルを開き、ファイルポインタを取得します。
ファイルポインタを使用して、fscanf関数
やfgets関数
を使ってデータを読み込むことができます。
読み込んだデータは、適切な変数に格納する必要があります。
線形探索のアルゴリズム
線形探索は、データの先頭から順番に比較していく探索方法です。
ファイルから読み込んだデータを線形探索する場合、以下の手順を踏みます。
- ファイルからデータを読み込む。
- 読み込んだデータと目的のデータを比較する。
- 一致するデータが見つかった場合、その位置を記録する。
- ファイルの終端まで繰り返し、一致するデータがなかった場合は見つからなかったことを示す。
線形探索はシンプルな方法ですが、データの量が多い場合には効率が悪いという欠点もあります。
サンプルコード
#include <stdio.h>
int main() {
FILE *file;
int target;
int data;
int position = -1;
file = fopen("data.txt", "r");
if (file == NULL) {
printf("ファイルを開けませんでした。\n");
return 1;
}
printf("探索するデータを入力してください: ");
scanf("%d", &target);
while (fscanf(file, "%d", &data) != EOF) {
if (data == target) {
position = ftell(file) - sizeof(int);
break;
}
}
if (position != -1) {
printf("データが見つかりました。位置: %d\n", position);
} else {
printf("データが見つかりませんでした。\n");
}
fclose(file);
return 0;
}
※ サンプルコードでは、data.txt
という名前のテキストファイルからデータを読み込みます。
※ ファイルが見つからない場合や、データが見つからなかった場合には適切なエラーメッセージを表示します。
実行結果の例
探索するデータを入力してください: 7
データが見つかりました。位置: 24
C言語を使用してファイルからデータを読み込み、線形探索する方法について解説しました。
ファイルを開くためにはfopen関数
を使用し、データの読み込みにはfscanf関数
やfgets関数
を使用します。
線形探索はシンプルな方法ですが、データの量が多い場合には効率が悪いため、他の探索アルゴリズムを検討することも重要です。