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

Где то в коде ошибка - C++

Восстановить пароль Регистрация
 
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 263
06.05.2012, 19:59     Где то в коде ошибка #1
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
#include <iostream.h>
#include <conio.h>
#define TRUE 1
#define FALSE 0
#define XRY 8  //Количество вершин графа.
typedef int Boolean;
typedef struct zveno *svqz;
typedef struct zveno
{
  int Key;  // Вершина графа.
  svqz Up;  // Указатель на смежную вершину.
  svqz Sled;// Указатель на следующую смежную вершину.
};
 
 
class Spisok
{
  private:
     svqz Beg[XRY+1]; //Массив указателей на вершины.
     void Add_Ver (int);
     int Find (int, int, svqz *);
     void Add_duga (int, int);
     void Make (int, int);
     void Delinenok (int, int);
     void Del_Duga (int, int);
     void Del_Ver (int);
     int Find_Color (int, int, svqz *);
  public:
     Spisok();
     void Init_Graph ();
     void Make_Graph ();
     void Print_Graph ();
     void Color ();
     void Print_Color ();
};
 
void main ()
{
  Spisok A;
 
  //Инициализация графа.
  A.Init_Graph ();
  //Построение графа.
  A.Make_Graph ();
  //Вывод графа.
  A.Print_Graph ();
  getch();
  //Последовательная раскраска графа, представленного
  //модифицированными списками смежности.
  A.Color ();
  A.Print_Color ();
  getch();
}
 
Spisok::Spisok()
{
  for ( int i=0; i<=XRY;Beg[i++] = NULL );
}
 
void Spisok::Add_Ver (int x)
//Функция создания вершины x.
{
  svqz Ukaz = new (zveno);
 
  Ukaz->Sled = NULL;
  Beg[x] = Ukaz;
}
 
void Spisok::Init_Graph ()
//Функция инициализации модифицированных списков смежности.
{
  for (int i=1;i<=XRY;i++) Add_Ver (i);
}
 
int Spisok::Find (int x, int y, svqz *UkZv)
//Функция проверки смежности вершин y и x. Функция возвращает
//TRUE, если  вершина x смежна с вершиной y. Указатель *UkZv,
//возвращает указатель на место y в списке  смежности x. Если
//вершина x не смежна с вершиной y, то UkZv есть NULL.
{
  svqz Ukaz;
 
  Ukaz = Beg[x]->Sled;
  while  (Ukaz != NULL && Ukaz->Key != y)
     Ukaz = Ukaz->Sled;
  *UkZv = Ukaz;
  return  ( Ukaz != NULL );
}
 
void Spisok::Add_duga (int x, int y)
//Функция создания дуги (x,y).
{
  svqz Ukaz = new (zveno);
 
   Ukaz->Sled = Beg[x]->Sled; Ukaz->Key = y;
   Beg[x]->Sled = Ukaz;
}
 
void Spisok::Make (int x, int y)
//Функция создания ребра {x,y}.
{
  svqz Ukaz;
 
  if  ( !Find(x,y,&Ukaz) )
  {
     Add_duga (x,y);
     if ( x != y ) Add_duga (y,x);
     Beg[x]->Sled->Up = Beg[y];
     Beg[y]->Sled->Up = Beg[x];
  }
}
 
void Spisok::Make_Graph ()
//Функция построения модифицированных списков смежности.
{
  int f;
 
  for (int i=1;i<=XRY;i++)
  {
    cout << "Введите вершины, смежные с " << i << "-й вершиной: ";
    cin >> f;
    while (f!=0)
    {
      Make (i,f);
      cout << " ";
      cin >> f;
    }
    cout << endl;
  }
}
 
void Spisok::Delinenok (int x, int y)
//Функция удаления дуги (x,y).
{
  svqz Ukaz;
  svqz Ukazlenok;
 
  Ukazlenok = Beg[x]; Ukaz = Beg[x]->Sled;
  while (Ukaz != NULL && Ukaz->Key != y)
  {  Ukazlenok = Ukaz; Ukaz = Ukaz->Sled; }
  if ( Ukaz != NULL )
  {
     Ukazlenok->Sled = Ukaz->Sled;
     delete Ukaz;
  }
}
 
void Spisok::Del_Duga (int x, int y)
//Функция удаления ребра {x,y}.
{
  Delinenok (x,y); Delinenok (y,x);
}
 
void Spisok::Del_Ver (int x)
//Функция удаления вершины x.
{
  svqz Ukaz;
  svqz Ukazlenok;
 
  for (int i=1;i<=XRY;i++) Delinenok (i,x);
  Ukaz = Beg[x]; Beg[x] = NULL;
  while ( Ukaz != NULL )
  {
     Ukazlenok = Ukaz->Sled;
     delete Ukaz; Ukaz = Ukazlenok;
  }
}
 
void Spisok::Print_Graph ()
//Функция вывода содеpжимого модифицированных
//списков смежности.
{
  svqz UkZv;
 
  for (int i=1;i<=XRY;i++)
  {
    if ( Beg[i] != NULL )
    {
      UkZv = Beg[i]->Sled;
      cout << i << " - ";
      while ( UkZv != NULL )
      {
        cout << " " << UkZv->Key;
        UkZv = UkZv->Sled;
      }
    }
    cout << endl;
  }
}
 
int Spisok::Find_Color (int x, int c, svqz *UkZv)
//Функция  выявления возможности раскраски вершины  x цветом c.*
//Функция  возвращает TRUE, если вершину  x  можно  раскрасить.*
//Указатель *UkZv, возвращает указатель на вершину, смежную с x*
//и раскрашенную цветом c. Если вершину x можно раскрасить, то*
//*UkZv есть NULL.
{
   int i = 1;
   
   while (!(Find(x,i,&(*UkZv)) &&
          Beg[i]->Key==c)   && 
          i != x) i++;
   return (i==x);
}
 
void Spisok::Color ()
//Функция последовательной раскраски графа, заданного
//модифицированными списками смежности Beg.
{
  int i = 1;
  int c = 1;
  svqz UkZv;
   
  while  (Beg[i] == NULL && i<=XRY) i++;
  if ( i != XRY )
  {
    Beg[i]->Key = c;
    i++;
    while  (i<=XRY)  
     if ( Beg[i] != NULL )
     {
       c = 1;
       while  (!Find_Color(i,c,&UkZv)) c++;
       Beg[i]->Key = c; i++;
     }
     else  i++;
  }
  else  cout << "Граф отсутствует!";
}
 
void Spisok::Print_Color ()
//Функция вывода раскраски графа, заданного
//модифицированными списками смежности Beg.
{                 
  for (int i=1;i<=XRY;i++)
    if ( Beg[i] != NULL )
       cout << " Color " << i << " - " << Beg[i]->Key << endl;return ;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2012, 19:59     Где то в коде ошибка
Посмотрите здесь:

где ошибка в коде C++
C++ Где ошибка в програмном коде
C++ Где ошибка в коде
Где ошибка в коде?Не могу понять C++
C++ Где ошибка в коде?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UFO94
 Аватар для UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
06.05.2012, 22:33     Где то в коде ошибка #2
Опишите, пожалуйста, ошибку. Она возникает при компиляции или при запуске? Или это ошибка в возвращаемом результате?
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 263
06.05.2012, 22:37  [ТС]     Где то в коде ошибка #3
при компиляции косяк какой то
cyberdiem
 Аватар для cyberdiem
74 / 25 / 1
Регистрация: 15.02.2012
Сообщений: 97
06.05.2012, 22:39     Где то в коде ошибка #4
текст ошибки который компилятор выдает напиши
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 263
06.05.2012, 22:43  [ТС]     Где то в коде ошибка #5
C:\Dev-Cpp\include\c++\3.4.2\backward\iostream.h:31, from C:\din116_3.cpp In file included from C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31, from C:\din116_3.cpp

такое вот мне выдаёт, хотя вроде сделал так как препод сказал)
UFO94
 Аватар для UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
06.05.2012, 22:44     Где то в коде ошибка #6
Похоже на неполный текст ошибки. Точно больше ничего?
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
06.05.2012, 22:45     Где то в коде ошибка #7
Не искал, где ошибка, но
Цитата Сообщение от Rikk Посмотреть сообщение
typedef int Boolean;
typedef struct zveno *svqz;
typedef struct zveno
{
Ты уверен, что знаешь, что такое typedef?????
Это первая ошибка.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2012, 22:53     Где то в коде ошибка
Еще ссылки по теме:

C++ где ошибка в коде?
Где ошибка в коде? C++
C++ Ошибка где-то в коде

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

Или воспользуйтесь поиском по форуму:
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 263
06.05.2012, 22:53  [ТС]     Где то в коде ошибка #8
Цитата Сообщение от cyberdiem Посмотреть сообщение
текст ошибки который компилятор выдает напиши
агга))
всё всем спасибо разобрался! заработало еле как
Yandex
Объявления
06.05.2012, 22:53     Где то в коде ошибка
Ответ Создать тему
Опции темы

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