У меня есть назначение, где я реализую двоичный поиск и линейный поиск. Выполняется «трудная» часть, и оба эти метода реализованы и работают. Мой профессор хочет, чтобы мы тестировали массивы с большим количеством целых чисел. Он дал нам файл .in, который внес вклад в стиле, который он хочет, и я пытаюсь использовать freopen для чтения файла.Использование freopen для чтения файла
int main(int argc, const char * argv[]) {
freopen("input.in", "r", stdin); // <-----
int n , s;
scanf("%d %d", &n, &s);
int myAr[n];
int i = 0;
while (i < n) {
scanf("%d",&myAr[i]);
i++;
}
int myAr2[s];
int j = 0;
while (j < s) {
scanf("%d",&myAr2[j]);
j++;
}
...
Файл начинается с 2-х номеров в одной строке, количество элементов в списке, а число элементов, которые вы ищете в первом списке.
затем считывает строку со всеми номерами в списке 1, а затем в следующей строке читает все номера в списке 2
Я не могу получить freopen(), чтобы работать должным образом, и я хотел бы знать, если есть предложения.
образец input.in файла:
10 2
2 4 6 7 9 10 24 26 29 33
26 35
Мой код позже сказал мне, что 26 найден и 35 не было. Моя основная проблема заключается в чтении входного файла в главном, а не в ручном вводе в терминал. Помоги пожалуйста.
Добавление «\ п» в конце файла должно помочь. – Matt
Что вы имеете в виду? – GusGus
Если вы можете использовать C++, посмотрите на ifstream, если нет, каждая ОС предоставляет функцию ввода-вывода файла, такую как linux open и read ... Честно говоря, я не понимаю вашего значения. –