Vous devez vous connecter pour exécuter votre code.
Recherche fichier acces direct
Implementez la recherche dichotomique dans un fichier binaire d'entiers tries.
#include <stdio.h>
long binary_search_file(const char *filename, int target) {
FILE *f = fopen(filename, "rb");
if (!f) return -1;
fseek(f, 0, SEEK_END);
long n = ftell(f) / sizeof(int);
long lo = 0, hi = n - 1;
while (lo <= hi) {
long mid = (lo + hi) / 2;
fseek(f, mid * sizeof(int), SEEK_SET);
int val; fread(&val, sizeof(int), 1, f);
if (val == target) { fclose(f); return mid; }
if (val < target) lo = mid + 1;
else hi = mid - 1;
}
fclose(f);
return -1;
}
int main() {
int n;
scanf("%d", &n);
int arr[1000];
for (int i = 0; i < n; i++) scanf("%d", &arr[i]);
printf("%d\n", binary_search_file(arr, n));
return 0;
}