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

Не работает но компилируется - C++

Восстановить пароль Регистрация
 
DeniZz
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
07.05.2011, 19:37     Не работает но компилируется #1
Прога на Борланде фор ДОС.
Компилируется, трассировка проходит удачно, но призапуске вылитает.
Подскажите чьо.

На ненужности не обращайте внимания. Хотяя.
Я понятия не имею как корректно лепить бинарные деревъя. ЭТО то что вышло поотным трудом) А еще нужно поиск и тд. Кстати по Этому поводу можете что-то посоветувать
Вложения
Тип файла: rar 0337.RAR (1.1 Кб, 16 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
07.05.2011, 19:47     Не работает но компилируется #2
код выложите сюда, а не файлом
DeniZz
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
08.05.2011, 13:45  [ТС]     Не работает но компилируется #3
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/*
    Realization of binary tree
    
    Borland C++ for DOS
*/
 
#include  <iostream.h>
#include  <conio.h>
 
class data;
class root;
class node;
 
int GNR,GNRc;    //Global Number Root counter. In maun GNRc=0, in each root GNRc++
         //It's mean hove much roots we have
 
 
//------------------data
struct data {
  public:
    int root_num;     //number of current root
    int parent_num;   //father's root
    int parent_sign;  //father's noge  l/r
    int l_node;       //if root have left node l_node=1, else ..=0
    int r_node;       //if root have right node r_node=1, else ..=0
    char *valuel;
};
 
data *dr=new data[20],
     *dn=new data[20];
 
 
//------------------node
class node {
    int sign;          //can be 1(right node) or 0(left node)
    void mkroot(int);
    int icount;
 
  public:
    node(int isign, int count);
    ~node(){};
};
 
node::node(int isign, int count) {
      dn[GNR].parent_sign=isign;    //DATA->parent_sign
 
      sign=isign;
      icount=count;
      mkroot(icount);
      }
 
 
//------------------root
class root {
    void deviation();
    int c;
 
    int lbizi;  //if left node is bizi  lbizi=1
    int rbizi;  //the same for right node
    char *ch;   //ask for include left/right node
 
  public:
    root(int i);
 
    ~root(){
      deviation();
      cout <<"End work with "<<c<<" node.\n";
      }
 
};
 
root::root(int i) {
      GNRc++;
      dr[GNR].parent_num=i;       //DATA->parent_num
 
      dr[GNR].root_num=GNR;       //DATA->root_num
 
      c=i;                        //using counter for 'What root now ussing'
 
      deviation();
      cout << "$- Enter "<< c <<" root value: ";
      cin >> dr[GNR].valuel;      //DATA->value
 
      deviation();
      cout << "Does root "<< c <<" have a left node? Y/N : ";
      cin >> ch;
      if((ch[0]=='Y') || (ch[0]=='y'))  {
    GNR++;
    lbizi=1;
    node l(0,c);
    GNR--;
    }
      else lbizi=0;
      dr[GNR].l_node=lbizi;       //DATA->l_node
 
      deviation();
      cout << "Does root "<< c <<" have a right node? Y/N : ";
      cin >> ch;
      if((ch[0]=='Y') || (ch[0]=='y'))  {
    GNR++;
    rbizi=1;
    node r(1,c);
    GNR--;
    }
      else rbizi=0;
      dr[GNR].r_node=rbizi;       //DATA->r_node
 
      if(GNR!=0) dr[GNR].parent_sign = dn[GNR].parent_sign;  //DATA->parent_sign
 
      }
 
void root::deviation() {
  for(int i=0; i<c; i++) cout<<" ";
  }
 
 
//---------------------fucking MAIN function wich called root object!!
void node::mkroot(int countR) {
  root r(countR+1);
  }
 
 
 
//------------------MAIN
main() {
  clrscr();
 
  GNRc=-1;
  GNR=0;
 
  root m(0);
  cout << "GNR is: "<< GNRc+1 <<endl;
  for(int j=0; j<=GNRc; j++) {
    cout << dr[j].root_num <<" root value is: "<< (dr[j].valuel) <<", have ";
    cout << dr[j].l_node <<" left & "<< dr[j].r_node <<" right node.\n";
    cout << "Thise root borned "<< (dr[j].parent_sign==0?"left":"right") <<" node of "<< (j!=0?(dr[j].parent_num):-1) <<" root.\n\n";
    }
  delete []td;
  delete []dr;
  delete []dn;
  getch();
return 0;
}
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
08.05.2011, 14:57     Не работает но компилируется #4
У тебя нет объявления td; как оно может компилироваться?
DeniZz
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
08.05.2011, 18:57  [ТС]     Не работает но компилируется #5
может std?
ОНО компилируется) Я в первом сообшении описал проблему. Попробую using namespace std поставить. В конце дня отвечу.
Попробуйте и вы

Добавлено через 2 часа 26 минут
Оу, шото я не сообразил. В борланде моем еще нет стд. Єто ж версия три-счемто, то ли 3.1, толи чуть больше)
Так что не стд..
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
08.05.2011, 19:40     Не работает но компилируется #6
ОК, 138 строчка чё значит?
C++
1
delete []td;
DeniZz
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
09.05.2011, 04:19  [ТС]     Не работает но компилируется #7
Это масив был. В прцеце удален. Строчка ненужна.

Добавлено через 1 минуту
Это мелочь. Без нее тожа не фурычит(

Добавлено через 3 минуты
Там много ненужностей. Например массив dn вовсе не нужен. А нужно лишь обычная переменная которая используется в строчках 45 и 108. Но как бы не в этом дело.. да
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 10:52     Не работает но компилируется
Еще ссылки по теме:

Почему Visual Studio показывает ошибку, но программа компилируется и работает? C++
Что не так с кодом? Компилируется, но не работает (связные списки) C++
C++ Код нормально компилируется но работает не весь

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

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
09.05.2011, 10:52     Не работает но компилируется #8
ОК, раз уж ты сам сказал про ненужности- удаляй их все к матери. Так мне проще будет разобраться.
Yandex
Объявления
09.05.2011, 10:52     Не работает но компилируется
Ответ Создать тему
Опции темы

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