С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
plju6
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 10
1

Ввести строку , вывести только слова, заканчивающиеся на гласную букву.

04.12.2010, 01:12. Просмотров 3333. Ответов 7
Метки нет (Все метки)

Ввести строку , вывести только слова, заканчивающиеся на гласную букву.

нужно к завтрашнему утру, помогите пожалуйста(

Добавлено через 19 секунд
любую абсолютно строку
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2010, 01:12
Ответы с готовыми решениями:

Удалить из текста все слова заканчивающиеся на гласную букву
Использовать можно только массив символов, переменные string и их функции...

Ввести строку s, найти и вывести слова заканчивающиеся подстрокой s2
прошу вас сделать без использования библиотек, просто с использованием цикла и...

Вывести в файл слова заканчивающиеся на заданную букву
Дан текстовой файл и некоторая буква, вводимая пользователем. Создать новый...

Вывести слова, начинающиеся и заканчивающиеся на одну и ту же букву
Добрый день! Нужно чтобы из вводимой строки выводились слова,начинающиеся и...

Вывести из файла все слова, которые начинаются на гласную букву
Вивести из файла все слова котрые начинаются на гласную букву. Слова записаны...

7
asics
Freelance
Эксперт С++
2858 / 1793 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
04.12.2010, 01:24 2
plju6,
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
#include <iostream>
#include <sstream>
#include <string>
#include <iterator>
 
int main()
{
    std::string str, del(" ,.?!;\/|"), gol("AaEeIiOoUuYy"), tmp;
    std::cout << "Enter string: \n\t-> ";
    std::getline(std::cin, str);
 
    for(std::string::iterator it = str.begin(); it != str.end(); ++it)
        if(del.find(*it) != std::string::npos)
            *it = ' ';
 
    std::istringstream ist(str);
    std::cout << "Words: \n\t-> ";
    while(ist >> tmp)
    {
        for(int i = 0; i < gol.length(); ++i)
            if(tmp[tmp.size() - 1] == gol[i])
                std::cout << tmp << ' ';
    }
    return 0;
}
1
plju6
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 10
04.12.2010, 01:31  [ТС] 3
а можно через stdio.h пожалуйста?
0
asics
Freelance
Эксперт С++
2858 / 1793 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
04.12.2010, 01:39 4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <string.h>
 
#define del " ,.?!;"
#define n 256
#define _n 13
 
int main()
{
    char str[n], gol[_n] = "AaEeIiOoUuYy";
    printf("Enter string: \n\t-> ");
    gets(str);
 
    printf("\nWords: \n\t-> ");
    for(char *p = strtok(str, del); p; p = strtok(NULL, del))
    {
        for(int i = 0; i < _n; ++i)
            if(p[strlen(p) - 1] == gol[i])
                printf("%s ", p);
    }
    return 0;
}
2
plju6
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 10
04.12.2010, 01:47  [ТС] 5
спасибо.
"AaEeIiOoUuYy" - это текст строки?
и что значит строка for(char *p = strtok(str, del); p; p = strtok(NULL, del)) и
if(p[strlen(p) - 1] == gol[i]) ?
0
ForEveR
В астрале
Эксперт С++
7997 / 4755 / 653
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
04.12.2010, 01:49 6
plju6, 1) Это гласные буквы лат. алфавита, что очевидно.
2) Цикл. Про strtok погуглите, вкратце, разбиваем строку на лексемы, в соответствии с данными разделителями (del в данном случае), до тех пор пока p!=NULL.
3) Сравниваем последнюю букву слова с i-ым элементов массива гласных букОв
0
asics
Freelance
Эксперт С++
2858 / 1793 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
04.12.2010, 01:51 7
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <string.h>
 
#define del " ,.?!;"
#define n 256
#define _n 13
 
int main()
{
    char str[n], gol[_n] = "AaEeIiOoUuYy";//Это гласные буквы латинского алфавита, а строку вы вводите ручками
    printf("Enter string: \n\t-> ");
    gets(str);
 
    printf("\nWords: \n\t-> ");
    for(char *p = strtok(str, del); p; p = strtok(NULL, del))//Разделяем строку на слова при помощи функции strtok()
    {
        for(int i = 0; i < _n; ++i)
            if(p[strlen(p) - 1] == gol[i])//Если последня буква слова из строки гласная...
                printf("%s ", p);//...выводим это слово на экран
    }
    return 0;
}
1
plju6
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 10
04.12.2010, 02:13  [ТС] 8
спасибо огромное! только начал программировать, буду разбираться пробовать..
сайт в закладках ;-)
0
04.12.2010, 02:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2010, 02:13

Найти и вывести все слова начинающиеся и заканчивающиеся на одну и ту же букву (комментирование кода)
Прокомментируйте пожалуйста код: /* Ввести строку длинной до 500...

Вывести все слова заканчивающиеся на букву "а" (переделать на dev c++)
Суть программы: Вывести все слова заканчивающиеся на букву &quot;а&quot;. #include...

Пользователь должен ввести маленькую гласную латинскую букву
пользователь должен ввести маленькую гласную латинскую букву ( o, u, a, i, e)....


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

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

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