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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Kings_ton
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 46
Завершенные тесты: 1
#1

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

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

Помогите! Задание такое: заменить в тексте все слова в которых есть хоть одна цифра на звездочки)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2013, 14:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заменить в тексте все слова, в которых есть хоть одна цифра, на звездочки (C++):

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

Если в тексте есть одинаковые слова, заменить все их экземпляры символом из заданного набора - C++
Здравствуйте форумчане, у меня к вам несколько нескромная просьба, помогите мне пожалуйста, оформив эти задачи программно: "Задан...

Удалить из массива числа – палиндромы, в которых есть хотя бы одна нечетная цифра - C++
помогите написать программу на С++ Дан массив из N целых чисел, где N<=16, каждое число в диапазоне от –32000 до 32000. Создать программу...

Найти все слова, в которых есть двойные согласные, и заменить их символом "*" - C++
дан текст(на англ. яз). найти все слова, в которых есть двойные согласные и заменить их *.

Удалить все элементы массива, в которых есть цифра 3 - C++
Дан массив целых чисел (n=15) заполненный случайным образом, промежутком от -20 до 50 удалить все элементы в которых есть цифра 3. Где-то...

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

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

Добавлено через 1 минуту
Текст вводится с клавиатуры, типа такого 6gfh 666 hhh jky5jj
0
newbie666
Заблокирован
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 fucked 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
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
13.11.2013, 19:34 #5
newbie666, а что значит
Цитата Сообщение от newbie666 Посмотреть сообщение
auto it = words.begin();
? words.begin вроде понятно, а auto it что такое? Если вам не трудно, объясните.
А преподы только на результаты смотрят? На код разве нет?
0
newbie666
Заблокирован
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
newbie666
Заблокирован
13.11.2013, 20:30 #8
Цитата Сообщение от metaluga145 Посмотреть сообщение
Visual Studio 2008 была выпущена в 2007
тфу, перепутал, с 2010-й студии auto работает и это точно
0
George_Amberson
9 / 9 / 10
Регистрация: 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
13.11.2013, 22:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2013, 22:19
Привет! Вот еще темы с ответами:

Для заданного достаточно длинного слова найти в имеющемся тексте все слова, в которых использованы только буквы, имеющиеся в заданном слове - C++
Помогите пожалуйста!!!!!Плиззззззззз!!!!! Для заданного достаточно длинного слова найти в имеющемся тексте все слова, в...

Найти все двузначные числа в записи которых есть цифра n или само число делиться на n - C++
Требуется вывести по возрастанию все числа, удовлетворяющие условию задачи

Заменить в данном тексте все слова «процент» символом «%» - C++
Заменить в данном тексте все слова «процент» символом «%». Не могу понять как заменить. Добавлено через 40 минут Мне просто...

В заданной строке выбрать те слова,в которых первая буква этого слова встречается еще хоть один раз - C++
Ввести несколько строк,каждая из которых содержит некоторое количество слов.В заданной строке выбрать те слова,в которых первая буква этого...


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

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

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