Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 46
1

Заменить в тексте все слова, в которых есть хоть одна цифра, на звездочки

13.11.2013, 14:39. Показов 1495. Ответов 8
Метки нет (Все метки)

Помогите! Задание такое: заменить в тексте все слова в которых есть хоть одна цифра на звездочки)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2013, 14:39
Ответы с готовыми решениями:

Найти и сохранить в строке те слова, в которых есть хотя бы одна цифра. Все остальные слова удалить
Помогите пожалуйста, есть задачка: Дана строка. Словом текста считается любая последовательность...

Найти и вывести все слова текста, в которых есть хотя бы одна цифра
Дана последовательность символов. Найти и вывести все слова текста, в которых есть хотя бы одна...

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

Найти количество простых чисел не больше N, в записи которых есть хоть одна четная цифра
Здравствуйте! Есть число N.Нужно найти количество простых чисел не больше N в записи которых есть...

8
Заблокирован
13.11.2013, 14:43 2
а текст какого формата и откуда берётся?
0
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 46
13.11.2013, 14:46  [ТС] 3
Вводится с лавиатуры, типа текста 6gfht ggg 777 gfr6jy

Добавлено через 1 минуту
Текст вводится с клавиатуры, типа такого 6gfh 666 hhh jky5jj
0
Заблокирован
13.11.2013, 15:19 4
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
#include <tchar.h>
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
 
int _tmain(int argc, _TCHAR* argv[])
{   
    std::cout << "Enter the string: ";
 
    std::string inputData;  
    std::getline(std::cin, inputData); 
    if(inputData.empty())
    {
        std::cout << "Enter somethink you ****ed old moron :-)" << std::endl;       
    }
    else
    {
        std::stringstream ss(inputData);
        std::vector<std::string> words;
        while (!ss.eof())
        {
            std::string tmp;
            ss >> tmp;      
            words.push_back(tmp);
        }
 
        for(auto it = words.begin(); it!= words.end(); it++)
        {
            bool badWord = false;
            for(auto jt = it->begin(); jt!=it->end(); jt++)
            {
                if(isdigit(*jt))
                {
                    badWord = true;
                    break;
                }
            }
            if(!badWord)
                std::cout << *it << " ";
            else
            {
                for(auto jt = it->begin(); jt!=it->end(); jt++)
                    std::cout << "*";
                std::cout << " ";
            }       
        }
 
        std::cout << std::endl;
    }   
    
    system("pause");
    
    return 0;
}
P.S.: Самое смешное, что студенты наверное даже не глядят что им тут предложили несут преподам, а если на зачёте пропод случаяйно введёт пустую строку
1
37 / 31 / 4
Регистрация: 21.10.2013
Сообщений: 197
13.11.2013, 19:34 5
newbie666, а что значит
Цитата Сообщение от newbie666 Посмотреть сообщение
auto it = words.begin();
? words.begin вроде понятно, а auto it что такое? Если вам не трудно, объясните.
А преподы только на результаты смотрят? На код разве нет?
0
Заблокирован
13.11.2013, 20:05 6
Цитата Сообщение от Angeline Посмотреть сообщение
А преподы только на результаты смотрят?
Я не знаю, на что они смотрят, т.к. я уже ни разу не студент и уже давно, да и когда был студентом, учился совсем не на программиста. Всё по С++ учил сам, когда ещё интернет был редкостью, да и то через модем US Robotics 33.6 с занятой телефонной линией. Так что помочь было кроме молчаливой бумажной книжки некому. У вас тут ваше лафа ща...

Цитата Сообщение от Angeline Посмотреть сообщение
На код разве нет?
хз

Цитата Сообщение от Angeline Посмотреть сообщение
а auto it что такое?
it - это просто имя переменной. Вот ты же часто наверное пишешь for(int i = 0; i< ... и тд - так вот it - это то же самое, что и i. Просто, поскольку это не простая переменная, а итератор, то я обычно его обозначаю через it. auto означает (начиная со стандарта С++ который в Visual Studio 2008 что ли начинался) что тип итератора будет определён автоматический, тоесть мне не важно, какого типа контейнер words в данном случае. Почитай про контейнеры STL. Иначе мне пришлось бы писать не так, а вот так:
for(std::vector<std::string>::iterator it = words.begin(); it != words.end(); it++)

чувствуешь геморой без auto ?
1
metaluga145
13.11.2013, 20:26
  #7

Не по теме:

Цитата Сообщение от newbie666 Посмотреть сообщение
8
Цитата Сообщение от newbie666 Посмотреть сообщение
auto означает (начиная со стандарта С++ который в Visual Studio 2008 что ли начинался)
новое auto было введено с новым стандартом c++11,который был опубликован в 11 году. Visual Studio 2008 была выпущена в 2007 году, то есть не поддерживает стандарт c++0x без особых обновлений

0
Заблокирован
13.11.2013, 20:30 8
Цитата Сообщение от metaluga145 Посмотреть сообщение
Visual Studio 2008 была выпущена в 2007
тфу, перепутал, с 2010-й студии auto работает и это точно
0
9 / 9 / 17
Регистрация: 13.11.2013
Сообщений: 35
13.11.2013, 22:19 9
Мой вариант, если вдруг понадобится.

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
#include <iostream>
#include <ctype.h>
int _main()
{
 
    char str[80];
    int l;
    
    printf("Enter string: ");
    gets(str);
 
    for(int i=0; i<strlen(str); i++) {
        if(isdigit((unsigned char)str[i]) != NULL) {
            for(int j=i; str[j]!='\0'; j++) {
                str[j] = '*';
                if(str[j+1] == ' ') {
                    i = j;
                    break;
                }
            }
            for(int l=i; str[l]!=' '; l--) {
                str[l] = '*';
                if(str[l-1] == ' ') 
                    break;
            }
        }
    }
 
    printf("Modified string: %s\n", str);
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2013, 22:19

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Ввести строку, ввести слово. Вывести из строки только те слова, в которых есть хоть одна буква из введённого слова
Здравствуйте, товарищи программисты. Я не смогла смириться с поражением и это снова привело меня к...

В строке в словах заменить все символы слова, стоящие после комбинации #+цифра+денежная единица на 3 звездочки
Помогите пожалуйста с этой задачкой : В исходной строке в словах заменить все символы слова,...

Перенести все строки, в которых есть хоть одна пустая ячейка на другой лист
Есть список студентов в Excel их 4097, если хоть одна ячейка в строке пустая нужно перенести всю...

Найти числа, в которых хоть одна цифра 3
В Берляндии снова президентские выборы. В рамках предвыборной кампании &quot;Не будет жизни вам пока...&quot;...


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

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

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