Определить в K-ой строке файла самое короткое слово, начинающееся и заканчивающееся с символа C - C (СИ)
Формулировка задачи:
Дано:
в текстовом файле fin.txt находится текст на русском языке. С клавиатуры вводится число K и символ C.Требуется:
определить в K-ой строке файла fin.txt самое короткое слово, начинающееся и заканчивающееся с символа C и сформировать текстовый файл fout.txt, в который записать это слово и его длину. Помогите пожалуйста, не могу понять, как работать с файлами.Решение задачи: «Определить в K-ой строке файла самое короткое слово, начинающееся и заканчивающееся с символа C»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main() { int min = 80, len, n = 1, ns = 1, k; char c, word1[20], str[80]; FILE *fin, *fout; printf("Enter string number "); scanf("%d", &k); printf("Enter desired letter "); scanf(" %c", &c); fin = fopen("fin.txt", "r"); fout = fopen("fout.txt", "w"); while(1){ fgets(str, 80, fin); ++ns; if(ns == k +1){ fprintf(fout, "%s", str); break; } } fclose(fin); fclose(fout); fout = fopen("fout.txt", "r"); while(n == 1){ n = fscanf(fout, "%s", str); len = strlen(str); if(str[0] == c && str[len - 1] == c){ if(min > len){ min = len; strcpy(word1, str); } } } fclose(fout); fout = fopen("fout.txt", "w"); fprintf(fout, "%s %d", word1, min); fclose(fout); return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяются начальные значения переменных
- Пользователю предлагается ввести номер строки и символ
- Открываются файлы для чтения и записи
- В цикле пока не будет прочитана нужная строка, считываются строки из файла
- Если строка соответствует условиям (начинается и заканчивается на введенный символ), то она записывается в файл для вывода и проверяется на минимальную длину
- Если найдена более короткая строка, то она становится новой минимальной длиной
- Закрываются файлы для чтения и записи
- Открывается файл для вывода
- В цикле пока не будет прочитана строка, считываются строки из файла для вывода
- Если длина строки соответствует минимальной длине, то выводится эта строка
- Закрывается файл для вывода
- Возвращается 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д