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

Вывести на экран слова текста, начинающиеся с гласных букв - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти величину и номер первого отрицательного и последнего положительного элементов в массиве http://www.cyberforum.ru/cpp-beginners/thread232817.html
хелп с программой. Найти величину и номер первого отрицательного и последнего положительного элементов в массиве вещественного типа заданного размера.
C++ Builder Умножение неквадратных матриц Проблема только в том, что квадратные матрицы умножает неправильно, а с не квадратными вообще что-тоне то делает. до умножения всё делает правильно.Ошибка я думаю где-то тут void __fastcall TForm1::Button4Click(TObject *Sender) { StringGrid4->ColCount=(int)csedN->Value; StringGrid4->RowCount=(int)csedN->Value; for(int col=0;col<csedM->Value;col++) for(int row=0;row<csedN->Value;row++) ... http://www.cyberforum.ru/cpp-beginners/thread232808.html
Заполнение массива C++
Доброго дня, уважаемые форумчане! В очередной раз сталкиваюсь с небольшой проблемой, суть ее заключается в следующем. Есть два массива малый и большой, нужно значения из малого более-менее равномерно записать в большой. Например: A = {0,1,2,3,4} - исходный массив B = {0,0,0,1,1,1,2,2,2,3,3,3,3,4,4,4,4} или B = {0,0,0,0,1,1,1,2,2,2,2,3,3,3,4,4,4} - результирующий массив Т.е. принципиальной...
Разбираюсь с md5 C++
Задание - реализовать md5. Разбираюсь в описании алгоритма. Вроде всё хорошо написано в мануалах, но плохо знаю язык, и реализация первых шагов вызывает затруднение. Непонятно, вот, что именно: На вход алгоритма подается входной поток данных, в конец потока 1, а затем некоторого числа нулей. Нули добавляются до тех пор, пока длина всего потока не станет равной 512*N+448, т.е. равной...
C++ Рекурсивная функция... Очень надо... http://www.cyberforum.ru/cpp-beginners/thread232743.html
Народ помогите плиз. Нужно написать рекурсивную функцию перевода из 16 сс в 10 сс....Заранее спасибо
C++ прогрессия Подсчитать сумму первых 500 членов бесконечного ряда: 1+1/2+1/3+1/4+…+1/n+… Выведите значение суммы на экран Хелп ми)Пожалуйста подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
23.01.2011, 16:50     Вывести на экран слова текста, начинающиеся с гласных букв
Это если слова должны одновременно и начинаться, и заканчиваться на гласную:
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
 
#define INPUT_FILE "input.txt"
#define DELIMS " \t\n-:;'\",.?!+^*~`\\"
#define VOWELS "aoeuiy"
 
int isCorrectWord(const char*);
 
int main()
{
    char buf[BUFSIZ];
    char* tok = NULL;
    FILE* fp;
    if((fp = fopen(INPUT_FILE, "r")) == NULL)
    {
        perror(INPUT_FILE);
        exit(1);
    }
    
    while(fgets(buf, BUFSIZ, fp) != NULL)
    {
        for(tok = strtok(buf, DELIMS); tok != NULL; tok = strtok(NULL, DELIMS))
            if(isCorrectWord(tok))
                puts(tok);
    }
    
    if(ferror(fp))
    {
        fprintf(stderr, "Can't read from file `%s'\n", INPUT_FILE);
        exit(2);
    }
    
    exit(0);
}
 
int isCorrectWord(const char* word)
{
    return ((strchr(VOWELS, tolower(*word)) != NULL) &&
            (strchr(VOWELS, tolower(word[strlen(word) - 1])) != NULL));
}
А если слова должны начинаться или заканчиваться на гласную, то тогда нужно изменить реализацию функции isCorrectWord:
C
1
2
3
4
5
int isCorrectWord(const char* word)
{
    return ((strchr(VOWELS, tolower(*word)) != NULL) ||
            (strchr(VOWELS, tolower(word[strlen(word) - 1])) != NULL));
}
 
Текущее время: 00:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru