Файл. Найти слова по условию - C (СИ)
Формулировка задачи:
Дан символьный файл f. Найти самое длинное слово, содержащее букву
хватило ток на это(п.с. - нубас, не работал с файлами)
а
. Если таких слов несколько вывести крайнее, если нет вообще, то сообщить об этом.
Листинг программы
- #include <stdio.h>
- void main() {
- FILE *f1;
- f1= fopen("C:\\text.txt","r");
- int n,i;
- char s[],max;
- if (f1 == NULL) {
- cout<<"File not open";
- }
- else {
- while( !feof(f1) ) {
- fscanf( f1, "%d", &n );
- for
- }
Решение задачи: «Файл. Найти слова по условию»
textual
Листинг программы
- #include <stdio.h>
- #include <string.h>
- #define SIZE 256
- int main(void)
- {
- char word[SIZE], maxWord[SIZE] = "";
- FILE *fin = fopen("input.txt", "r");
- while (fscanf(fin, "%s", word) != EOF)
- if (strlen(word) >= strlen(maxWord) && strchr(word, 'a'))
- strcpy(maxWord, word);
- if (!strlen(maxWord))
- printf("No such\n");
- else
- printf("%s\n", maxWord);
- fclose(fin);
- return 0;
- }
Объяснение кода листинга программы
В этом коде задача состоит в том, чтобы найти самое длинное слово в файле input.txt, которое содержит букву 'a'.
- В начале кода подключаются необходимые библиотеки и определяется размер массива для хранения слова (256 символов).
- Затем, в функции main(), создается пустой массив для хранения самого длинного слова и файл, из которого будут считываться слова.
- Далее, в цикле while с помощью функции fscanf() считываются слова из файла до тех пор, пока не будет достигнут конец файла.
- Внутри цикла, с помощью условного оператора if, проверяется, является ли текущее слово самым длинным и содержит ли оно букву 'a'.
- Если текущее слово удовлетворяет условиям, оно копируется в массив для хранения самого длинного слова.
- После цикла, проверяется, было ли найдено самое длинное слово.
- Если самое длинное слово не найдено, выводится сообщение
No such
. - В противном случае, выводится самое длинное слово.
- В конце программы файл закрывается и возвращается 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д