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

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

Войти
Регистрация
Восстановить пароль
 
serik13
3 / 3 / 0
Регистрация: 04.01.2011
Сообщений: 71
#1

Строка - C++

28.10.2011, 21:17. Просмотров 403. Ответов 4
Метки нет (Все метки)

Ввести строку длиной до 30 символов, заменить в ней двойных
символов на одиночные, пробелов - на знак подчёркивания,
сочетания '**' на многоточие '...'

Заранее спасибо.!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2011, 21:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строка (C++):

Дана строка. Подсчитать сколько раз первая строка входит во вторую - C++
Дана строка. Подсчитать сколько раз первая строка входит во вторую. Например: вводим "при" (строка должна вводиться с клавиатуры, как на...

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

Почему строка, считанная из файла и такая же строка в программе не равны, хотя они, вроде бы, одинаковы? - C++
Есть две строки. MSK="Москва" и from, считанная из текстовика, через getline Для проверки вывожу эти обе строки, на первый взгляд...

дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка должна вводиться с клавиатуры. - C++
Будьте добры,помогите с решением задачи: дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка...

Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо и справа н - C++
Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо...

Даны строка S, символ C и строка S0. Необходимо после каждого вхождения символа C в строку S вставить строку S0 - C++
Есть код... string s, s0; char c; cout << "Введите строку s, s0 и символ c: "; getline(cin, s); ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
28.10.2011, 22:45 #2
А потрудиться? Хотя бы немножечко? Здесь вас за ошибки в коде никто не убъёт)))
0
serik13
3 / 3 / 0
Регистрация: 04.01.2011
Сообщений: 71
28.10.2011, 22:51  [ТС] #3
Можешь написать код?? заранее спасибо
0
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
29.10.2011, 15:31 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    string str;
 
    str = "This is string!!";
    for(int i = 0; i < str.length()-1; i++) {
        
        if(str[i] == str[i+1]) {
            str.erase(i,1);
        }
        if(str[i] == ' ') {
            str[i] = '_';
        }
 
    }
    cout << str << endl; //This_is_string!
    system("pause");
}
Есть одно "но", если встретится три одинаковых символа, к примеру !!!, программа преобразует их в !!. Поскольку в задании говорилось только про двойные символы. И еще буквы тоже являются символами

Добавлено через 24 минуты
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    string str;
    int size_of_string,i=int();
    size_t pos;
 
    str = "This **is string!!**";
    size_of_string = str.length();
 
    while(size_of_string>0) {
        
        if(str[i] == str[i+1] && str[i] != '*') {
            str.erase(i,1);
            size_of_string--;
        }
        if(str[i] == ' ') {
            str[i] = '_';
        }
        pos = str.find("**");
        if(pos != string::npos) {
            str.erase(pos,2);
            str.resize(str.length()+3);
            str.insert((int)pos,"...");
        }
        i++;
        size_of_string--;
 
    }
    cout << str << endl; //This_...is_string!...
    system("pause");
}
Ах да, забыл про звездочки... Вот вариант с преобразованием звездочек.
1
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
29.10.2011, 15:34 #5
Цитата Сообщение от serik13
Ввести строку длиной до 30 символов, заменить в ней двойных
символов на одиночные, пробелов - на знак подчёркивания,
сочетания '**' на многоточие '...'
заменяешь все двойные символы, кроме звёздочек, на одинарные, проверяя, не пробелы ли это
потом заменяешь двойные звёздочки на многоточия
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2011, 15:34
Привет! Вот еще темы с ответами:

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

Строка string и строка char - C++
Ребят помогиме. В общем задание такое дана строка типа string и строка char которая содержит символ к. В общем если в строке типа String ...

Создать класс строка и производный класс битовая строка, не работает переопределение операций - C++
Здравствуйте уважаемые форумчане.Мне очень нужна помощь в разработке класса.Сам класс вроде работает но вот 1 задание к нему неработает...

Строка - C++
В строке между словами вставить символ /.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.10.2011, 15:34
Ответ Создать тему
Опции темы

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