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

АТД список. Выделить скобками все двойные вхождения символов - C++

Восстановить пароль Регистрация
 
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
29.09.2011, 20:07     АТД список. Выделить скобками все двойные вхождения символов #1
Здравствуйте.

Суть задачи такова.


Нужно выделить круглыми скобками все двойные вхождения заданного символа.


Например

Есть список g c c f c c c, пользователь задал символ "с" в итоге на выходе программы должен получиться список (g ( c c ) f ( c c ) c).

Как видите в выходном списке взяты в скобки двойной символ "с".


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
40
#include "iostream"
#include "list"
 
 
using std::list;
using std::cout;
using std::cin;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0,"");//руский щрифт в консоле
    
    int n;
    char num;
    
    list<char> l; //объявили список
    
    cout << "Введите длину списка: ";
    cin >> n;
 
    cout << "Введите содержимое списка: ";
    for(int i = 0; i < n; i++)
    {   
        cin >> num;
        l.push_back(num);
    }
 
    
    //тут выполнить определенное действие
    
    
    cout << "Вывод искомого списка: ";
    for(list<char>::const_iterator iter1 = l.begin(); iter1 != l.end(); iter1++)
    {
        cout << *iter1  << ",";
    }
           
    system("pause >> NULL");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2011, 20:07     АТД список. Выделить скобками все двойные вхождения символов
Посмотрите здесь:

удалить из заданной строки все группы символов, расположенные между скобками, включая сами скобки C++
Заменить в последовательности символов после первого вхождения знака ‘+’ все цифры на символ – C++
C++ Удалить в строке символов все символы в скобках вместе с самими скобками
C++ Строка символов. Все вхождения ‘abc’ заменить на ‘def’
Как с помощью цикла проверить все вхождения символов? C++
C++ Стек. Выведите все вхождения символов указанного набора в текст в обратном порядке
C++ Написать программу, которая удаляет из данного набора символов все вхождения символов S и s
C++ Выделить все вхождения подстрок, заключенных в скобки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
29.09.2011, 20:52     АТД список. Выделить скобками все двойные вхождения символов #2
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
#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
 
int main () {
   list<char>  lst;
   list<char>  lch(2);
 
   char* str = "gcccfcccxx,ccycccc";
   lst.insert(lst.begin(), str, str + strlen(str));
   
   char ch = 'c';
   // cin >> ch;
   fill(lch.begin(), lch.end(), ch);
   
   list<char>::iterator last, iter = lst.begin();
   while((iter = search(iter, lst.end(), lch.begin(), lch.end())) != lst.end()) {
        lst.insert(iter, '(');
        last = iter; 
        for(size_t n = lch.size(); last != lst.end() && n > 0u; *last++, n--);
        lst.insert(last, ')');
        if(last == lst.end()) 
                break;
        iter = last;
   }
 
   copy(lst.begin(), lst.end(), ostream_iterator<char>(cout, " "));
   cout.put('\n');
   lst.clear();
   cin.get();
   return 0;
}
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
29.09.2011, 21:06  [ТС]     АТД список. Выделить скобками все двойные вхождения символов #3
xAtom, не подскажешь хорошую литературу по АТД спискам??
Yandex
Объявления
29.09.2011, 21:06     АТД список. Выделить скобками все двойные вхождения символов
Ответ Создать тему
Опции темы

Текущее время: 21:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru