Файл. Найти слова по условию - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дан символьный файл f. Найти самое длинное слово, содержащее букву

а

. Если таких слов несколько вывести крайнее, если нет вообще, то сообщить об этом.
Листинг программы
  1. #include <stdio.h>
  2. void main() {
  3. FILE *f1;
  4. f1= fopen("C:\\text.txt","r");
  5. int n,i;
  6. char s[],max;
  7. if (f1 == NULL) {
  8. cout<<"File not open";
  9. }
  10. else {
  11. while( !feof(f1) ) {
  12. fscanf( f1, "%d", &n );
  13. for
  14.  
  15. }
хватило ток на это(п.с. - нубас, не работал с файлами)

Решение задачи: «Файл. Найти слова по условию»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define SIZE 256
  4.  
  5. int main(void)
  6. {
  7.     char word[SIZE], maxWord[SIZE] = "";
  8.     FILE *fin = fopen("input.txt", "r");
  9.     while (fscanf(fin, "%s", word) != EOF)
  10.         if (strlen(word) >= strlen(maxWord) && strchr(word, 'a'))
  11.             strcpy(maxWord, word);
  12.  
  13.     if (!strlen(maxWord))
  14.         printf("No such\n");
  15.     else
  16.         printf("%s\n", maxWord);
  17.  
  18.     fclose(fin);
  19.     return 0;
  20. }

Объяснение кода листинга программы

В этом коде задача состоит в том, чтобы найти самое длинное слово в файле input.txt, которое содержит букву 'a'.

  1. В начале кода подключаются необходимые библиотеки и определяется размер массива для хранения слова (256 символов).
  2. Затем, в функции main(), создается пустой массив для хранения самого длинного слова и файл, из которого будут считываться слова.
  3. Далее, в цикле while с помощью функции fscanf() считываются слова из файла до тех пор, пока не будет достигнут конец файла.
  4. Внутри цикла, с помощью условного оператора if, проверяется, является ли текущее слово самым длинным и содержит ли оно букву 'a'.
  5. Если текущее слово удовлетворяет условиям, оно копируется в массив для хранения самого длинного слова.
  6. После цикла, проверяется, было ли найдено самое длинное слово.
  7. Если самое длинное слово не найдено, выводится сообщение No such.
  8. В противном случае, выводится самое длинное слово.
  9. В конце программы файл закрывается и возвращается 0, что означает успешное выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы