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

Представление выражения в двоичном дереве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Односвязный список http://www.cyberforum.ru/cpp-beginners/thread34711.html
Доброй ночи! Вроде все написала правильно, прога должна читать из файла KR8+.txt и записывать один элемент в KR8.txt в конец списка... но этого не происходит! подскажите, пожалуйста, почему? #include <stdio.h> #include <stdlib.h> class List; void work();
C++ создания функции my_printf() помогите создать функцию my_printf(), типа printf(). Принцип действия тот же, но чтоб при визове my_printf() необходимое виводилось например красним цветом и шрифтом-курсивом. Если кто может помочь, напишите плиз!!! http://www.cyberforum.ru/cpp-beginners/thread34660.html
C++ Visual Studio, приложения не запускаются
Есть одна проблема. Я раньше творил с CodeBlocks, а теперь решил попробовать в Visual Studio. Но ни одна моя прога не запускается пишет сообщение что не нашел путь d:\debug\проэкт\.exe Я так понял что при компиляции не создается .exe файл... Помогите пожалуйста разобраться!!!
Поменять соседние слова в строке местами C++
Доброе всем время суток. Есть такая задачка. Вроде несложная, но написать что-то не получается. Поменять слова в сообщении по принципу: второе с первым, четвёртое с третьим и т. д. #include <iostream> #include <string> using namespace std; int main() { string s1,s2,a1,a2;
C++ матрица http://www.cyberforum.ru/cpp-beginners/thread34646.html
Задание: Для заданной матрицы размером 8 на 8 найти такие k, что k-ая строка матрицы совпадет с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент. * Прошу, помогите решить вот такую задачу на двумерный массив
C++ поиск слова в строке Всем привет! задача нужно найти слово в строке например: char str1="hello world"; char str2="world"; if(str1==str2) cout<<"Слово найдено"); else cout<<"Слово не найдено"); подробнее

Показать сообщение отдельно
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16946 / 5351 / 329
Регистрация: 30.03.2009
Сообщений: 14,391
Записей в блоге: 26
19.05.2009, 10:37     Представление выражения в двоичном дереве
Пояснения к expr.rar

В общем делал кому-то курсовик. Суть программы была в том,
что нужно ввести выражение (с констатами, переменными, скбками).
Потом ввести значение всех переменных, оно должно посчитать
и выдать какую-то статистику по количеству всего.
Работает только в целых числах

Сейчас я бы немного по-другому написал, но как есть так есть.

Лексический разбор в файле parser.c. Выдёргивание идёт по
лексемам (лексическим единицам, которые здесь названы token).
На каждый вызов процедуры parser_GetToken формируется одна лексемма.
Процедура возвращает тип лексеммы: константа, идентификатор,
разделитель (операции и скобки) или конец файла, при этом текстовое
значение лексемы помещается в переменную parser_Token

Тебе нужно смотреть синтаксический разбор и построение дерева начиная
от процедуры expr_ParseExpr. Она выдирает по одной лексеме и согласно
синтаксическим правилам формирует дерево. Особенность этой схемы в том,
что мы всегда находимся в состоянии, когда текущая лексема прочитана.
Т.е. метод работы такой: в самом начале читаем первую лексему, потом шмонаемся
по синтаксическим правилам. Как только обработали текущую лексему, сразу же
вытаскиваем следующую (даже если она и не нужна). При разборе простых
выражений такое поведение возможно избыточно, но при более сложных
синтаксисах именно такой способ даёт техническую простоту при использовании
нисходящего разбора

Ну и в main.c раскомментируй вызов tree_PrintNode - там в отладочном виде
будет печататься дерево. Каждый узел печатается как: номер узла, тип узла
и номера узлов-детей (если это узел арифметической операции). Понятно дело,
что скобки в дереве никак не отражаются, ибо они нужны только на письме,
чтобы обозначить порядок выполнения операций
 
Текущее время: 12:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru