Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.93/14: Рейтинг темы: голосов - 14, средняя оценка - 4.93
lenaa
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 15
#1

Дана строка символов, заменить в ней все многоточия на плюсы

16.12.2010, 18:23. Просмотров 2494. Ответов 30
Метки нет (Все метки)

пожалуйста!!!!помогите решить задачу
дана строка символов.заменить в ней все многоточия на плюсы
срочно.очень нужно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2010, 18:23
Ответы с готовыми решениями:

Дана строка символов. Заменить в ней все пробелы на табуляции
Здравствуйте! Ребят, помогите решить следующие задачи : Тема: Обработка...

Дана строка символов. Выделить в ней цветом все символы
Прошу помочь создать данную программу: Дана строка символов. Выделить в ней...

Дана строка. Заменить в ней все строчные (латинские и русские) буквы соответствующими заглавными.
8.2.1. Помогите, пожалуйста, решить задачу в С++. Дана строка. Заменить в...

Дана строка символов до точки. Выделить в ней все русские буквы, сделав их заглавными
Дана строка символов до точки. Выделить в ней все русские буквы, сделав их...

Помощь в работе со строками (Дана строка. Заменить в ней каждую из групп, содержащих 3 или более одинаковых символов многоточием)
Доброго времени суток. По заданию необходимо:Дана строка. Заменить в ней...

30
lenaa
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 15
16.12.2010, 19:05  [ТС] #21
нет!одно многоточие.на 1 плюс
1 многоточие это 3 точки.
а в этой программе получается,что программа заменяет каждую точку плюсом.и получается вместо многоточия 3плюса
0
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
16.12.2010, 19:11 #22
Мб как-то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <iterator>
 
int main()
{
    std::string str;
    getline(std::cin, str);
    std::string::iterator it;
    for(it = str.begin(); it != str.end(); ++it)
        if(*it == '.')
            str.erase(it);
    for(it = str.begin(); it != str.end(); ++it)
        if(*it == '.')
            *it = '+';
    std::cout << str;
    return 0;
}
2
lenaa
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 15
16.12.2010, 19:13  [ТС] #23
asics, блин это конечно круто.но мой преподаватель не поверит ,что я так смогла))это как то очень тяжело
0
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
16.12.2010, 19:24 #24
lenaa, А так ?
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 <stdio.h>
#include <string.h>
 
int main()
{
        char str[256];
        char str1[256]="";
        int i,k=0;
        printf("Enter string: ");
        gets(str);
        for(i=0; i<strlen(str); i++)
        {
                if((str[i]=='.') && (str[i+1] == '.') && (str[i+2] == '.'))
                {
                        str1[k]='+';
                        i += 2;
                }
                else
                {
                        str1[k]=str[i];
                }
           k++;
        }
        printf("\n");
        puts(str1);
        return 0;
}
2
jambas92
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
16.12.2010, 19:25 #25
lenaa, проще последнего кода нет=)))
0
lenaa
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 15
16.12.2010, 19:30  [ТС] #26
так проще)
но он все равно каждую точку многоточия заменяет плюсом
0
jambas92
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
16.12.2010, 19:32 #27
lenaa, не понял??? вы хотябы примерный тест дайте
0
lenaa
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 15
16.12.2010, 19:34  [ТС] #28
пупц...вцыуп...
пупц+++вцыуп+++

вот так получается а надо чтобы получилось
пупц+вцыуп+
0
jambas92
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
16.12.2010, 19:36 #29
lenaa, у asics все работает верно!
вот в этом коде:

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 <stdio.h>
#include <string.h>
 
int main()
{
        char str[256];
        char str1[256]="";
        int i,k=0;
        printf("Enter string: ");
        gets(str);
        for(i=0; i<strlen(str); i++)
        {
                if((str[i]=='.') && (str[i+1] == '.') && (str[i+2] == '.'))
                {
                        str1[k]='+';
                        i += 2;
                }
                else
                {
                        str1[k]=str[i];
                }
           k++;
        }
        printf("\n");
        puts(str1);
        return 0;
}
0
lenaa
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 15
16.12.2010, 19:44  [ТС] #30
у меня какой то глупый компьютер.потому что все равно не получается(
0
easybudda
Модератор
Эксперт CЭксперт С++
10051 / 5971 / 1491
Регистрация: 25.07.2009
Сообщений: 11,310
16.12.2010, 23:25 #31
Цитата Сообщение от lenaa Посмотреть сообщение
так проще
Мы простых путей не ищем!
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
#include <stdio.h>
#include <string.h>
 
/* меняет в строке str все вхождения ss на rs
    размер строки не проверяется - должен быть
    заведомо достаточным. Максимальный размер строки
    не должен превышать BUFSIZ (в винде обычно 2048) 
    строки не должны перекрываться в памяти */
 
char * str_replace(char * str, const char * ss, const char * rs){
    static char buf[BUFSIZ];
    char * start, * stop;
    int len;
    
    memset(buf, 0, BUFSIZ);
    len = strlen(ss);
    start = str;
    while ( stop = strstr(start, ss) ){
        strncat(buf, start, stop - start);
        strcat(buf, rs);
        start = stop + len;
    }
    if ( *start )
        strcat(buf, start);
    
    return strcpy(str, buf);
}
 
#define REPLACE_WHAT "..."
#define REPLACE_TO "+"
 
int main(void){
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        printf("Result: %s\n", str_replace(buf, REPLACE_WHAT, REPLACE_TO));
    
    return 0;
}
1
16.12.2010, 23:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2010, 23:25

Дана строка. Определить, сколько в ней символов *, ;, : [Есть код на Pascal]
Нужно перевести этот код на С++ Uses crt; Var s: String; i,k1,k2,k3:...

Дана строка текста.Определить сколько в ней символов больше . а или о
как надо решить . я запутался

Дана строка. Подсчитать, сколько различных символов встречается в ней. Вывести их на экран.
Помогите решить задачи: 1. Найти все простые натуральные числа, не...


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

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

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