Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Larka91
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 27
#1

определить количество слов в тексте, оканчивающихся на гласную букву - C++

10.04.2011, 23:09. Просмотров 716. Ответов 0
Метки нет (Все метки)

И еще одна программа ... ((( можно ли переделать под условие (смотри пр файл.)

Задание:

С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки текста не должна превышать 70 символов).
Имя файла должно иметь расширение DAT.
Написать программу, которая:
1) выводит текст на экран дисплея;
2) определяет количество слов в тексте, оканчивающихся на гласную букву

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <stdio.h>
#include <conio.h>
/* #include <string.h> */
 
#define DELIM " \t\n,.!?:;-%"
#define VOWELS "AaEeIiOoUuYy"
        
int mystrlen(const char * s){
        const char * p = s;
        while ( *p )
                ++p;
        return p - s;
}
 
char * mystrchr(const char * s, char ch){
        while ( *s && *s != ch )
                ++s;
        return ( *s ) ? (char*)s : NULL;
}
 
char * mystrtok(char * buf, const char * delim){
        static char * pHead, * pTail, * pRet;
        if ( buf ){
                pHead = buf;
                pTail = pHead + mystrlen(pHead);
                for ( pRet = pHead; pRet < pTail; ++pRet )
                        if ( mystrchr(delim, *pRet) )
                                *pRet = 0;
        }
        while ( ! *pHead && pHead < pTail )
                ++pHead;
        if ( pHead >= pTail )
                return NULL;
        else {
                pRet = pHead;
                pHead += mystrlen(pHead);
        }
        
        return pRet;
}
 
int main(void){
        char buf[BUFSIZ], *p;
        int cnt;
        FILE * f;
        
        printf("File name: ");
        if ( scanf("%s", buf) != 1 ){
                fprintf(stderr, "Input error!\n");
                return 1;
        }
        
        if ( ( f = fopen(buf, "r") ) == NULL ){
                fprintf(stderr, "Can't open file for input!\n");
                return 1;
        }
        
        cnt = 0;
        printf("Content:\n\n");
        while ( fgets(buf, BUFSIZ, f) ){
                printf("%s", buf);
                for ( p = mystrtok(buf, DELIM); p; p = mystrtok(NULL, DELIM) )
                        if ( mystrchr(VOWELS, p[mystrlen(p) - 1]) )
                                ++cnt;
        }
        if ( ferror(f) ){
                fprintf(stderr, "Error while reading file!\n");
                if ( fclose(f) )
                        fprintf(stderr, "Can't close file!\n");
                return 1;
        }
        
        fclose(f);
        printf("\n\n%d words ends with vowel letter.\n", cnt);
        
        getch();
        
        return 0;
}
Миниатюры
определить количество слов в тексте, оканчивающихся на гласную букву  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2011, 23:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос определить количество слов в тексте, оканчивающихся на гласную букву (C++):

Определить количество слов в тексте, оканчивающихся на гласную букву - C++
Помогите пожалуйста с заданием, особенно пункт 2 ... :( С помощью текстового редактора создать файл, содержащий текст, длина которого...

Подсчитать количество слов в тексте, которые заканчиваются на гласную букву - C++
С клавиатуры вводится текстовый рядок. Написать программу, которая подсчитывает ко-во слов в тексте, которые заканчиваются на гласную...

Определить в тексте количество слов, содержащих заданную букву только 1 раз - C++
Определить в тексте кол-во слов, содержащих заданную букву только 1 раз. Помогите плиз. #include &lt;stdio.h&gt; #include...

Работа с лентами (Подсчитать количество слов оканчивающихся на букву о) - C++
Строка содержит английский текст. Подсчитать количество слов оканчивающихся на букву о.

Определить количество слов начинающихся и оканчивающихся одной и той же буквой - C++
Дан текст. Определить количество слов начинающихся и оканчивающихся одной и той же буквой как будет код?

Определить, сколько слов в тексте начинается на заданную букву - C++
Суть задачи такова: нам дана буква, нужно определить, сколько слов в тексте начинается на эту букву, затем вывести эти слова и их...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2011, 23:09
Привет! Вот еще темы с ответами:

Определить процент слов в тексте заканчивающихся на русскую букву а - C++
Как правильно подсчитать процент слов? Выводит 0. Заранее огромное спасибо. #include &lt;iostream&gt; #include &lt;string&gt; #include...

Cтрока: Определить количество средних слов в строке и какое из слов начинается на большую по коду букву - C++
Определить количество средних слов в строе и какое из слов начинается на большую по коду букву. Напишите плз код данной программы...

Слова на букву "А" в тексте переписать в обратном порядке, определить количество предложений в тексте - C++
Как решить задачу на с++? В тексте все слова, начинающиеся на букву 'A', переписать в обратном порядке. Определить количество...

Определить в строке количество слов, оканчивающихся на "w" - C++
Дан массив типа char. определить количество слов оканчивающихся на w.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru