Помогите чайнику разобраться в азах С++
-только в вуз поступил, и начал учиться с 3й недели, сейчас пытаюсь нагнать программу. в частности и по программированию. Вопрос вот в чем: была как практическая задана задача: "пользователь вводит последовательность символов, содержащую, среди прочих символов, круглые открывающие и закрывающие скобки. Признаком завершения признаком завершения последовательности является символ #. Определить. имеется ли в заданной последовательности баланс открывающихся и закрывающихся скобок. Скобки считаются сбалансированными, если для каждой открывающей скобки есть соответствующая закрывающая скобка, причем в предпоследовательности между этими скобками так же соблюден баланс. Последовательность. не содержащая ни одной скобки. считается так же сбалансированной."
Так как с языком С++ сталкиваюсь впервые)) хотелось бы узнать основные функции и команды вместе с их описанием для Си. то бишь может кто подскажет источник информации. в котором будет описано все "как дураку". Для приведенной задачи у меня получился примерно такой алгоритм: 1) Создание счетчика с переменной "open" для "(" (изначально переменные = 0) 2) Создание счетчкиа с переменной "close" для ")" 3) Закрузка файла, содержащеко текст, допустим 123.txt 4) Далее сравнение сиволов файла с "(" и ")" 5) Если первая скобка в последовательности символов до символа "#" ")" - выдвать сообщение, что "баланса нет" 6) Если последняя скобка, в последовательности символов до символа "#" "(" аналогичное сообщение об отстутствии баланса и конец программы ( так как ""123 ) 2323(ыв) (0"" несмотря на одинаковое кол-во открывающихся/закр. скобок баланса тут нет ) 7) Если 5й и 6й пункт не нашли бисбаланса скобок, то начать сравнение символов начиная с первого и заканчивая символом"#". при этом при обнаружении "(" совершать "open+1" аналогично и для ")" только с close) 8) Как только сравниваемый сивол примит значение "#", сделать сравнение переменных open и close. 9) Если значения переменных равны друг другу. то выдать сообщение об "наличии баланса скобок" 10) Если переменные больше. аналогично и меньше друг друга. то выдать сообщение об "отсутствии баланса" Среда работы - Microsoft Visual Studio 2008 Буду очень благодарен. если окажете помощь в реализации этой задачи, и ссылками на литературу. в которой как дураку расписано что, как и где нужно напсать. чтоб все написанное заработало. Заранее благодарен) |
Вот такую вещь мне подсказал мой дядя. только вот и в ней я мало чего понимаю, в силу того. что пока еще не знаю действия "команд" и способа построения программ
# include <iostream> # include <cctype> # include <cmath> # include <csteng> using name space sta, int main () ( int a , и б с ; char f; bool begin, eno ; count << ""Введите строку сиволов для анализа : "" ; cin >> f ; //далее проверка на присутствие "")"" в начале строки и ""("" в конце строки, пока не найдется символ ""#"" DO ( |
Цитата:
Код:
int open = 0; Цитата:
Код:
#include <iostream> |
Код:
#include <iostream> При чтении с клавиатуры ввод построчно буфферизуется. Поэтому чтобы реально программа остановилась, надо после диеза (#) всё-таки нажать enter. Для демонстрации того, для чего нужен с++: Код:
template<typename ForwardIterator> |
pva, Мастер узнаётся по перу. :up:
|
так) огромное спасибо) завтра посмотрим что получиться)
|
Цитата:
|
|
Время: 07:40. |
Время: 07:40.
© OSzone.net 2001-