Файл. Найти слова по условию - 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'.

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

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


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

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

14   голосов , оценка 3.929 из 5
Похожие ответы