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

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

Войти
Регистрация
Восстановить пароль
 
Soull
18 / 4 / 0
Регистрация: 21.10.2012
Сообщений: 60
#1

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

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

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

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

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

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

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

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

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

7
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 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
Просмотров: 53

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

Сейчас протестил, у меня и без cctype работает, и без cstring работает... Студия 2010
1
rangerx
1935 / 1544 / 141
Регистрация: 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 / 0
Регистрация: 21.10.2012
Сообщений: 60
21.01.2013, 01:28  [ТС] #6
спасибо огромное)))
0
Croessmah
21.01.2013, 02:13
  #7

Не по теме:

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

0
rangerx
1935 / 1544 / 141
Регистрация: 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 - Turbo Pascal
Задача 3 Программирование алгоритмов обработки текстовой Дан текст. Если в тексте нет символа *, то оставить этот текст без из- менения,...

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

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

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


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

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

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