Форум программистов, компьютерный форум 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++ Задачи на матрицы и структуры 4. Дана матрица размера M  N. Вывести ее элементы, расположенные в столбцах с нечетными номерами (1, 3, …). Вывод элементов производить по столбцам, условный оператор не использовать. 7. Дана матрица размера M  N. Перед первым столбцом, содержащим только положительные элементы, вставить столбец из единиц. Если требуемых столбцов нет, то вывести матрицу без изменений. 1. Ввести структуру... http://www.cyberforum.ru/cpp-beginners/thread34707.html
C++ создания функции my_printf()
помогите создать функцию my_printf(), типа printf(). Принцип действия тот же, но чтоб при визове my_printf() необходимое виводилось например красним цветом и шрифтом-курсивом. Если кто может помочь, напишите плиз!!!
C++ Visual Studio, приложения не запускаются
Есть одна проблема. Я раньше творил с CodeBlocks, а теперь решил попробовать в Visual Studio. Но ни одна моя прога не запускается пишет сообщение что не нашел путь d:\debug\проэкт\.exe Я так понял что при компиляции не создается .exe файл... Помогите пожалуйста разобраться!!!
C++ Поменять соседние слова в строке местами http://www.cyberforum.ru/cpp-beginners/thread34653.html
Доброе всем время суток. Есть такая задачка. Вроде несложная, но написать что-то не получается. Поменять слова в сообщении по принципу: второе с первым, четвёртое с третьим и т. д. #include <iostream> #include <string> using namespace std; int main() { string s1,s2,a1,a2;
C++ матрица Задание: Для заданной матрицы размером 8 на 8 найти такие k, что k-ая строка матрицы совпадет с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент. * Прошу, помогите решить вот такую задачу на двумерный массив подробнее

Показать сообщение отдельно
helloworld
0 / 0 / 0
Регистрация: 17.05.2009
Сообщений: 6

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

18.05.2009, 19:58. Просмотров 8099. Ответов 6
Метки (Все метки)

есть выражение 4*a/2 мне надо его упростить и получить 2*a
т.е. я ввожу в программу 4*a/2, программа должна представить выражение в виде двоичного дерева, провести с этим деревом такие преобразования, чтобы оно стало иметь вид, удовлетворяющий выражению 2*a, после этого дерево (с выражением 2*a) должно быть переведено обратно в выражение {т.е. я ввожу 4*a/2, программа выдаёт 2*a }

Помогите пожалуйста, очень трудно учиться программировать с таким преподавателем, какой достался нашей несчастной группе

п.с. мой код (в основном он касается перевода выражения в двочное дерево и обратно, нет той части кода, которая должна отвечать за трансформацию дерева


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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
 
typedef char tdata;
 
 int i; char ch;
 
struct node;
 
typedef node *link;
 
struct node
{ tdata data;
  link left,right;
} *tree;
 
 
 
  void printtree(link t)
  { static int l=0;
    l++;
    if(t)
     { printtree(t->right);
       for(i=0;i<l;i++)printf("    ");
       printf("\\__%c\n",t->data);
       printtree(t->left);
     }
    l--;
   } // printtree----------------------------------
int isAN()
  { return ( ch >= 'a' ) && ( ch <= 'z' ) || ( ch >= '0' ) && ( ch <= '9' );}
 
 
 
  link mknode(char c, link &l, link &r)
  {
        link t = new node;
        t -> data = c;
        t -> left = l;
        t -> right = r;
        return t;
  }
  
  
  link expr();
 
  link fact()
  {
      link t;
      scanf("%c",&ch);
      if( ch == '(' )
      {
           t = expr();
           if(ch!=')') printf("ERROR: not )\n");
      }
      else if(isAN()) t = mknode(ch,0,0);
      else printf("ERROR: not AN\n");
      return t;
      
      
      link term()
    {
        link tm;
        int done;
        char ch1;
        tm = fact();
        done = 0;
        while((ch != '\n') && (!done))
        {
             scanf("%c",&ch);
             if ( ch == '/' ) { ch1 = ch; tm = mknode( ch1, tm, fact() ); }
             else done=1;
        }
        return tm;
     }
 
  
  link expr()
  {
      link ex;
      int done;
      char ch1;
      ex = term();
      done = 0;
      while( ( ch != '\n' ) && ( !done ) )
           {
            if( ch == '*' )  { ch1 = ch; ex = mknode( ch1, ex, term() ); }
            else done = 1;
           }
   return ex;
  }
Добавлено через 14 минут 12 секунд
п.с. сорри за офтоп: господа программисты, на чём вы компилите? На чём лучше работать новичку?(bC 3.1 не устанавливается )

Добавлено через 18 часов 57 минут 7 секунд
up
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru