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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ ОБРАБОТКА ДВУМЕРНОГО МАССИВА http://www.cyberforum.ru/cpp-beginners/thread239387.html
Сформировать массив из сумм положительных элементов строк.
C++ 3. Ввести строку произвольной длины. Сосчитать количество слов в ней. 3. Ввести строку произвольной длины. Сосчитать количество слов в ней. http://www.cyberforum.ru/cpp-beginners/thread239375.html
Ввести строку произвольной длины.Распечатать все '*' в ней с порядковыми номерами C++
Ввести строку произвольной длины.Распечатать все '*' в ней с порядковыми номерами
C++ Комплексные числа
Здравствуйте! Как мне в С написать вычисление следующего значения R(коэффициент прохождения): l=exp(i*ky1*(-d)); j=i*ky1*(1-d); R=(exp(i*ky1*(y-d)-(d*l)/j)/(exp(i*ky1*(y-d)+(d*l)/j))); где i-это мнимая единица, ky1,d,y-константы
C++ Brainf**k http://www.cyberforum.ru/cpp-beginners/thread239337.html
Народ, суть проблемы такова: наш препод по программированию сам только только окончил вуз, и, к сожалению, это дотавляет неприятности. Вот какое задание к лабораторной он дал: "Как известно, язык Brainf**k есть интерпретируемый язык программирования с 8ю операциями: > < + - , .. Задача состоит в написании интерпретатора для него на C++.". Почитать о нем лучше всего на Вики. Это вроде не сложно....
C++ Рекурсия, ошибка Здраствуйте! У меня есть одна классическая задачка про Лесенку. Лесенка Лесенкой называется набор кубиков, в котором каждый более верхний слой содержит кубиков меньше, чем предыдущий. Требуется написать программу, вычисляющую число лесенок, которое можно построить из N кубиков. Входные данные Во входном файле input.txt записано натуральное число N (1 ≤ N ≤ 225) – количество кубиков в... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
15.02.2011, 16:52     Определить количество слов в тексте, оканчивающихся на гласную букву
Цитата Сообщение от Larka91 Посмотреть сообщение
Нельзя использовать функции библиотеки, находящиеся в файле string.h,
Вот честно говоря выбешивают такие запреты... Вот Вам с велосипедами
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
#include <stdio.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);
        
        return 0;
}
 
Текущее время: 23:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru