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

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

Восстановить пароль Регистрация
 
Larka91
 Аватар для Larka91
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 27
10.04.2011, 23:09     определить количество слов в тексте, оканчивающихся на гласную букву #1
И еще одна программа ... ((( можно ли переделать под условие (смотри пр файл.)

Задание:

С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 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++ определить количество слов оканчивающихся на w
Определить, сколько слов в тексте начинается на заданную букву C++
Cтрока: Определить количество средних слов в строке и какое из слов начинается на большую по коду букву C++
Работа с лентами (Подсчитать количество слов оканчивающихся на букву о) C++
Через функцию определить гласную букву C++
Определить количество слов в тексте C++
Определить количество слов в заданном тексте и количество символов в каждом слове C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru