Найти количество слов, состоящих из трех и более букв - C (СИ)
Формулировка задачи:
а етот код как переделать из C++ в C
#include <iostream> #include <string> #include<fstream> using namespace std; int main() { ifstream f("file.txt"); string word; int countOfLongWords=0; while (!f.eof()) { f >> word ; if ((int)word[0] == 97 || (int)word[0] == 101 || (int)word[0] == 105 || (int)word[0] == 111 || (int)word[0] == 117) { cout << word << " "; if (word.size() > 3) countOfLongWords++; } } cout << endl << endl << "Count of words, longer than 3 symols is equal to " << countOfLongWords << endl << endl; //system("pause"); return 0; }
Решение задачи: «Найти количество слов, состоящих из трех и более букв»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #define string_len 4 int main() { FILE *filep; char *word; int countOfLongWords=0; word = malloc(string_len); filep = fopen("file.txt","w+"); while (fgets(word,string_len,filep)!=NULL) { if (((int)word[0] == 97) || ((int)word[0] == 101) || ((int)word[0] == 105) || ((int)word[0] == 111) || ((int)word[0] == 117)) { printf("%s\n",word); if (sizeof(*word) > 3) countOfLongWords++; } } printf("Count of words , longer than 3 symols is equal to %d",countOfLongWords); free(word); fclose(filep); return 0; }
Объяснение кода листинга программы
В данном коде происходит подсчет количества слов в файле, длина которых больше трех символов. Список действий следующий:
- Включаются необходимые заголовочные файлы для работы с файлами и памятью.
- Определяется размер строки (в данном случае 4 символа).
- Открывается файл с помощью функции fopen. Режим
w+
означает открытие файла для чтения и записи. - Выделяется память под строку с помощью функции malloc.
- Начинается цикл, который будет выполняться до тех пор, пока не закончится файл (до достижения конца строки).
- Проверяется условие, что первая буква слова является одной из заданных (a, e, i, o, u, A, E, I, O, U).
- Выводится на экран найденное слово.
- Увеличивается счетчик, если длина слова больше 3 символов.
- Закрывается файл и освобождается память** с помощью функций fclose и free.
- Выводится на экран количество слов, длина которых больше 3 символов.
- Завершается программа с возвратом 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д