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

Найти слова, в которых есть цифры и буквы латинского алфавита

28.11.2016, 22:37. Просмотров 724. Ответов 2
Метки нет (Все метки)

Задание такое:Дана строка. Словом текста является последовательность цифр и букв латинского алфавита; между соседними словами - не менее одного пробела, за последним словом – точка. Найти и сохранить в строке те слова, в которых есть цифры и буквы латинского алфавита. Все остальные слова удалить.
Не получается сделать так, чтоб он искал все числа от 0 до 9(проверял нет ли их в слове), и выписал все слова в которых имеются числа. Этот код ищет символ(один).
C++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <sstream>
#include <string>
 using namespace std;
int main()
{
    const string str = "Mama m1la nashu r4my.";
    cout << "Text: " << str << endl;
    char c;
    cin >> c;
    istringstream ist(str);
    string word;
    while (ist >> word)
    if (word.find(c) != string::npos)
    cout<<word<<endl;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2016, 22:37
Ответы с готовыми решениями:

В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы.
В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в...

Предложение содержит буквы латинского и русского алфавитов. Вывести буквы только латинского алфавита
Предложение содержит буквы латинского и русского алфавитов. Написать программу,...

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

Вывести только те слова строки, в которых есть и буквы и цифры
Задача написать программу которая получает строку а выводит только те слова в...

Ввести строки и за один просмотр в функции определять частоту встречаемости в строке цифры и буквы латинского алфавита
Ввести строки и за один просмотр в функции определять частоту встречаемости в...

2
zss
Модератор
Эксперт С++
7509 / 6866 / 4336
Регистрация: 18.12.2011
Сообщений: 18,181
Завершенные тесты: 1
28.11.2016, 22:54 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
#include <iostream>
#include <sstream>
#include <string>
#include <ctype.h>
using namespace std;
 
int main()
{
    const string str = "Mama m+1la nashu r4my .";
    cout << "Text: " << str << endl;
    istringstream ist(str);
    string word;
    while (ist >> word)
    {
        size_t i=0;
        for(;i<word.size();i++)
        {
            if( !(isdigit(word[i]) || isalpha(word[i])) )
                break;
        }
        if(i==word.size())
           cout<<word<<' ';
    }       
    cout<<endl;
    system("pause");
    return 0;
}
0
Altrz
0 / 0 / 1
Регистрация: 28.11.2016
Сообщений: 3
30.11.2016, 19:45  [ТС] 3
Спасибо за ответ.Прошу прощения за то что не расставил теги(С++).Еще не очень разобрался с этим.К сожалению данный код (у меня лично) удалял лишь слово с символом(в нашем случае +).Потому я его изменил удалив в условии if- "isdigit". После этого код стал удалять все слова имеющие в себе цифры или символы.Для сдачи мне сойдет и он, но хотелось бы чтоб он удалял только те что с цифрами(по заданию соответственно).Если не трудно подскажите функцию для нахождения символов(+-=_\.*!?@ и т.д.), если таковая существует. Исправленный код:
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
#include <iostream>
#include <sstream>
#include <string>
#include <ctype.h>
using namespace std;
 
int main()
{
    const string str = "Mama m1la nashu r4my .";
    cout << "Text: " << str << endl;
    istringstream ist(str);
    string word;
    while (ist >> word)
    {
    size_t i=0;
        for(;i<word.size();i++)
        {
        if( !(isalpha(word[i])) )
                break;}
        if(i==word.size())
           cout<<word<<' ';
           }       
    cout<<endl;
    system("pause");
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2016, 19:45

Отсортировать текст и найти гласные буквы латинского алфавита
После ввода с клавиатуры произвольного текста отсортировать его и выдать ...

Есть файл. В файле написаны слова. Найти и вывести на экран слова, в которых гласная и согласная буквы чередуются
Есть файл В файле написаны слова Найти и вывести на экран слова, в которых...

Заменить все малые буквы латинского алфавита на соответствующие большие буквы
Добрый вечер. Помогите, пожалуйста, исправить программу. Задание: Заменить...


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

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

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