Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Soull
18 / 4 / 1
Регистрация: 21.10.2012
Сообщений: 60
#1

Если в строке нет символа +, то оставить строку без изменений, иначе каждую из цифр перед символом + заменять на * - C++

21.01.2013, 00:41. Просмотров 748. Ответов 7
Метки нет (Все метки)

Ввести символьный массив из 12 символов. Если в тексте нет символа +, то оставить без изменений, в другом случаи каждую из цифр перед символом+ заменять на *.
http://www.cyberforum.ru/cpp-beginners/thread1023914.html
Помогите, плиз.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2013, 00:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Если в строке нет символа +, то оставить строку без изменений, иначе каждую из цифр перед символом + заменять на * (C++):

В строке вставить перед символом «+» три символа «***»
Введите строку. По всей строке вставьте перед символом «+» три символа «***»....

Если длина строки больше 10 - оставить первые 6 символов, иначе дополнить строку символами 'о'
Дана строка.Если ее длина больше 10,то оставить в строке только первые 6...

Дано натуральное число n. Отбросить в нем все цифры, стоящие правее самой правой единицы либо оставить число без изменений, если единицы в нем нет
Дано натуральное число n. Отбросить в нем все цифры, стоящие правее самой...

Если последовательность отсортирована по возрастанию, оставить ее без изменения. Иначе получить иную последовательность
Дана последовательность действительных чисел X1,X2,X3,…,Xn (n>2, заранее...

Если эти числа равны, заменить их на 0, если нет - меньшое заменить большим, а большое оставить без изменения
Дано 2 целых числа, каждое из низ не больше 2*10^9 по модулю. Если эти числа...

7
Croessmah
++Ͻ
14147 / 8072 / 1512
Регистрация: 27.09.2012
Сообщений: 19,907
Записей в блоге: 3
Завершенные тесты: 1
21.01.2013, 00:49 #2
как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cstring>
int main(){
    char str[13]="n23f6+123fd5";
    std::cout<<"Source: "<<str<<std::endl;
    for(char * p=str+strlen(str)-1;str<=p;--p){
        if(*p=='+'){
            for(;str<=p;--p)
                if(isdigit(*p))
                    *p='*';
            break;
        }
    }
    std::cout<<"Rezult: "<<str<<std::endl;
}
Название: Безымянный.jpg
Просмотров: 55

Размер: 9.7 Кб
1
Soull
18 / 4 / 1
Регистрация: 21.10.2012
Сообщений: 60
21.01.2013, 00:57  [ТС] #3
спасибо огромное)))
0
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 30
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
21.01.2013, 01:26 #4
Croessmah, а разве isdigit() не из <cctype> ?

Сейчас протестил, у меня и без cctype работает, и без cstring работает... Студия 2010
1
rangerx
1941 / 1550 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
21.01.2013, 01:27 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstring>
#include <cctype>
 
int main() {
 
    char s[13] = {0};
    std::cout << "input string: ";
    std::cin.getline(s, sizeof(s));
    
    char* end = std::strrchr(s, '+');
    
    if(end) {
        
        for(char* p = s; p != end; ++p)
            if(std::isdigit(*p)) *p = '*';
    }
    
    std::cout << "result: " << s << std::endl;
}
1
Soull
18 / 4 / 1
Регистрация: 21.10.2012
Сообщений: 60
21.01.2013, 01:28  [ТС] #6
спасибо огромное)))
0
Croessmah
21.01.2013, 02:13
  #7

Не по теме:

Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
Студия 2010
Приводить в пример студию как-то безобразно, имхо!

0
rangerx
1941 / 1550 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
21.01.2013, 03:04 #8
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
а разве isdigit() не из <cctype> ?
Сейчас протестил, у меня и без cctype работает, и без cstring работает... Студия 2010
isdigit есть в двух вариантах, одна лежит в cctype другая в locale. Другое дело, что эти заголовочные файлы могут быть включены внутри других используемых в данный момент заголовочных файлов, но при этом нет никакой гарантии, что при переносе кода на другой компилятор всё будет работать точно так же. Поэтому заголовочные файлы, функции из которых используются, рекомендуется всегда указывать явно.
0
21.01.2013, 03:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2013, 03:04
Привет! Вот еще темы с решениями:

Преобразовать данный текст по следующему правилу: если нет символа «*», то оставить текст без изменений, иначе вставить перед и после каждого символа
Преобразовать данный текст по следующему правилу: если нет символа «*», то...

Дан текст. Если в тексте нет символа *, то оставить этот текст без изменения, иначе каждую из малую букву, перед первым вхождением *, заменить на 3
Задача 3 Программирование алгоритмов обработки текстовой Дан текст. Если в...

Дан текст. Если в тексте нет символа *, то оставить этот текст без изменения, иначе каждую из малых латинских
Дан текст. Если в тексте нет символа *, то оставить этот текст без изменения,...

Если в строке нет символа *, то оставить эту строку без изменения
Помогите решить задачи 1)Найти сумму 10 членов ряда, в котором an=(n!)/n2. ...


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

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

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