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

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

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

Строка - C++

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

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

Заранее спасибо.!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2011, 21:17     Строка
Посмотрите здесь:

Строка -> Массив = [Строка] - JavaScript
AJAXом получаю данные, но приходит либо массив либо строка. Так вот надо данные привести к одному виду, а именно - массиву. Т.е. было...

Есть строка определенной длины. Вторая строка меньше первой. Найти точку в которой вторая строка входит в первую - Java SE
Условие: Есть строка определенной длины. Вторая строка меньше первой. Найти точку в которой вторая строка входит в первую.

Получить действительный матрицу А( n,m) Первая строка которого задана формулой C1j=2*j+3, вторая строка задается формулой С2j=2+1/j, а каждая следующая строка есть сумма предыдущих. - Turbo Pascal
Получить действительный матрицу А( n,m) Первая строка которого задана формулой C1j=2*j+3, вторая строка задается формулой С2j=2+1/j, а...

Событие SheetChange: последняя строка и выделенная строка является одинаковой величиной - Visual Basic .NET
Не срабатывает корректно событие. При вводе данных в следующую строку после последней, последняя строка и выделенная строка является...

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

В папках пропала строка меню,адресная строка и панель инструментов - Windows XP
У меня на компьюторе в папках пропала строка меню,адресная строка и панель инструментов.Подскажите как их вернуть? Причина пропажи строки...

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

Создать запись «Кинофильм» с полями: «Название» (строка), «Страна» (строка) - Turbo Pascal
В заголовок окна программы записать свои данные: имя, фамилию и номер варианта. - Для всех вариантов количество записей в массиве...

Сортировка строк по году рождения (1945 - 1 строка, 1944 - 2 строка) - C#
Здравствуйте форумчане, необходима ваша помощь. Дан текстовый файл:" Kaligoev Paul Ignashevich 1997 School №76, Street 56, Astrakhan,...

Строка: Определить, содержит ли строка только символы 'а', 'Ь', 'с' или нет - Delphi
Дана строка. Определить, содержит ли строка только символы 'а', 'Ь', 'с' или нет.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
28.10.2011, 22:45     Строка #2
А потрудиться? Хотя бы немножечко? Здесь вас за ошибки в коде никто не убъёт)))
serik13
3 / 3 / 0
Регистрация: 04.01.2011
Сообщений: 71
28.10.2011, 22:51  [ТС]     Строка #3
Можешь написать код?? заранее спасибо
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");
}
Ах да, забыл про звездочки... Вот вариант с преобразованием звездочек.
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
29.10.2011, 15:34     Строка #5
Цитата Сообщение от serik13
Ввести строку длиной до 30 символов, заменить в ней двойных
символов на одиночные, пробелов - на знак подчёркивания,
сочетания '**' на многоточие '...'
заменяешь все двойные символы, кроме звёздочек, на одинарные, проверяя, не пробелы ли это
потом заменяешь двойные звёздочки на многоточия
Yandex
Объявления
29.10.2011, 15:34     Строка
Ответ Создать тему
Опции темы

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