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

Задачка на стек - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Строки и работа над ними http://www.cyberforum.ru/cpp-beginners/thread419448.html
Есть следующее условие задачи: Ввести из файла текст, слова в тексте разделены пробелом , если слово состоит из чётного количества символов, то удалить в нём всё цифры. результат вывести на экран. пример: Было: мама м3ла12 стало: мама мла Подскажите как решить данную задачу? И что можно почитать что бы разобраться? Если у кого есть время решить, то выкиньте код, просто по примеру легче...
C++ Работа с файлами.Требуется корекктировка Код работает находит самое длинное слово , его длину , но не корректно вычисляет кол-во заданных слов входящих в текст Пожалуйста решите проблему #define _CRT_SECURE_NO_DEPRECATE #include <stdio.h> #include <string.h> #include <conio.h> #include <locale.h> http://www.cyberforum.ru/cpp-beginners/thread419444.html
C++ Проверка симметричности булевых функций
Задача:Проверка симметричности Булевых функции, подкиньте идею мне этого хватит, заранее спасибо)
C++ Ввести строку символов, которая есть фрагментом программы и записать в файл
Искал по форуму - не нашел. Задача: Ввести строку символов, которая есть фрагментом программы, написанной на языке С++ и записать все это в файл. Подсчитать, сколько раз среди символов появляются "(" и ")". Сохранить результат в файл. zabadzzzz, Правила2.3. Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на ваш вопрос ответят.Изначальное название...
C++ 1е-005 -> 0.00001 http://www.cyberforum.ru/cpp-beginners/thread419426.html
Здравствуйте. Как в выводе дробного числа заменить "1е-005" на "0.00001", скажем? Спасибо.
C++ заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей помогите, пожалуйста, написать программу на С или С++ Нужно заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей, ЛП, от левого верхнего угла вниз - вправо. Остаток матрицы заполнить нулями. подробнее

Показать сообщение отдельно
tdu
1 / 1 / 0
Регистрация: 03.12.2010
Сообщений: 23
28.12.2011, 02:26     Задачка на стек
Здравствуйте. Есть такая задачка

Есть текст, сбалансированный по круглым скобкам.
Нужно вывести номера соответствующих открывающей и закрывающей скобок , упорядочив пары в порядке возрастания номеров позиций открывающих скобок.
пример : A + (45 - F (X) * (B - C))
вывести : 3 17; 8 10; 12 16
------------
Сам стек уже реализован, ну и функции работы с ним
1) push() - добавить в вершину стека
2) pop() - вытолкнуть верхний элемент из стека
3) top() - читать значение верхнего элемента.
так же функции isNull - проверка на конец и destroy разрушить стек.
Реализация стека и функции - правильные, нам их готовые дал преподаватель.

Не могу сообразить как правильно оформить алгоритм.
Вот мои мысли, с комментариями, которые может быть очень очевидны и глупы

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Stack s1, s2;
.
.
.
.
int i = 0;       // координата скобки
while (!s1.isNull())
    {
        if ( s1.top() == '(' )      
            {
                s2.push(i);   // заносим в стек s2 координату i открывающей скобки 
            }
        if ( s1.top() == ')' )   // если нашли закрывающую скобку
            {
                cout << s2.top()<<" " << i ;  // выводим координату откр. и закр. скобок
                                s2.pop(); // выдавливаем текущую координату из стека s2
                        }
        s1.pop();            // выдавливаем текущий элемент из стека s1
        i++;
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru