Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Altrz
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 3
#1

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

28.11.2016, 22:37. Просмотров 532. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти слова, в которых есть цифры и буквы латинского алфавита (C++):

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

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

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

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

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

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

2
zss
Модератор
Эксперт С++
6928 / 6490 / 2182
Регистрация: 18.12.2011
Сообщений: 17,105
Завершенные тесты: 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 / 0
Регистрация: 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
Привет! Вот еще темы с ответами:

Файл содержит буквы латинского алфавита. Заменить буквы 'р' на 'w' - C++
Помогите с задачей.Файл содержит буквы латинского алфавита. Заменить буквы 'р' на 'w'.

Вывести буквы латинского алфавита - C++
Помогите составить код используя строки, чтобы при введения произвольного текста (цифры, русские буквы) выводило все буквы латинского...

Строки: заменить в словах цифры малыми буквами латинского алфавита - C++
Напишите, пожалуйста, программу! Из текстового файла, состоящего из 6-7 строк сформировать массив слов. Заменить в словах цифры малыми...

Найти слова, буквы которых расположены по алфавиту и слова, в которых нет повторяющихся букв - C++
Разработать алгоритм и программу. Вводится текст из заглавных и строчных латинских букв,пробелов.Количество символов не должно превышать...


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

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

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