Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Wonder Land
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 5
#1

не могу скомпилировать программу( - C++

20.04.2013, 03:39. Просмотров 553. Ответов 1
Метки нет (Все метки)

не могу никак додуматься как скомпилировать, ругается что init() не определен...
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
#include <iostream.h>
#include <stdlib.h>
 
struct Node
{
   int inf;
   Node *next;
};
 
//============================Stack==============================
 
void push(Node *&st,int dat)
{  // Загрузка числа в стек
 
   Node *el = new Node;
   el->inf = dat;
   el->next = st;
   st=el;
}
 
int pop(Node *&st)
{       // Извлечение из стека
 
   int value = st->inf;
   Node *temp = st;
   st = st->next;
   delete temp;
 
   return value;
}
 
int peek(Node *st)
{     // Получение числа без его извлечения
   return st->inf;
}
 
//==============================================================
 
Node **graph;   // Массив списков смежности
const int vertex = 1; // Первая вершина
 
void add(Node*& list,int data)
{  //Добавление смежной вершины
 
   if(!list){list=new Node;list->inf=data;list->next=0;return;}
 
   Node *temp=list;
   while(temp->next)temp=temp->next;
   Node *elem=new Node;
   elem->inf=data;
   elem->next=NULL;
   temp->next=elem;
}
 
void del(Node* &l,int key)
{ // Удаление вершины key из списка
 
   if(l->inf==key){Node *tmp=l; l=l->next; delete tmp;}
   else
        {
     Node *tmp=l;
     while(tmp)
         {
        if(tmp->next) // есть следующая вершина
           if(tmp->next->inf==key)
                  {  // и она искомая
             Node *tmp2=tmp->next;
                 tmp->next=tmp->next->next;  
                 delete tmp2;  
               }
           tmp=tmp->next;
     }
   }
}
 
int eiler(Node **gr,int num)
{ // Определение эйлеровости графа
 
   int count;
   for(int i=0;i<num;i++)
   {  //проходим все вершины
 
      count=0;
      Node *tmp=gr[i];
 
     while(tmp)
         {       // считаем степень
            count++;
        tmp=tmp->next;
         }
      if(count%2==1)return 0; // степень нечетная
   }
   return 1;   // все степени четные
}
 
void eiler_path(Node **gr)
{ //Построение цикла
 
   Node *S = init();// Стек для  пройденных вершин
   int v=vertex;// 1я вершина (произвольная)
   int u;
 
   push(S,v); //сохраняем ее в стек
   while(S)
      {  //пока стек не пуст
     v = peek(S); // текущая вершина
     if(!gr[v]){ // если нет инцидентных ребер
     v=pop(S); cout<<v+1<<"   "; //выводим вершину  (у нас отсчет от 1, поэтому +1)
      }
     else 
      {
     u=gr[v]->inf; push(S,u);  //проходим в следующую вершину
     del(gr[v],u); del(gr[u],v); //удаляем пройденное ребро
      }
   }
}
 
int main()
{
 
system("CLS");
    cout<<"Количество вершин:  "; int n; cin>>n; // Количество вершин
   int zn;// Текущее значение
 
   graph=new Node*[n];
   for(int i=0;i<n;i++)graph[i]=NULL;
   for(i=0;i<n;i++)   // заполняем массив списков
 
     for(int j=0;j<n;j++)
         {
        cin>>zn;
        if (zn) add(graph[i],j);
      }
 
         cout<<"\n\nРЕЗУЛЬТАТ  ";
 
   if(eiler(graph,n))eiler_path(graph);
   else cout<<"Граф не является эйлеровым.";
 
   cout<<endl;
   cin.get();
   cin.get();
   return(0);
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2013, 03:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не могу скомпилировать программу( (C++):

Не могу скомпилировать программу - C++
Вот код программы. В душе не чаю, верно ли он написан, но ругается, что main используется несколько раз. multiple definition of `main' ...

Не могу скомпилировать первую программу - C++
Я начал учить C++ относительно недавно. Учу по &quot;С++ для чайников&quot;. Там есть пример. Программа для преобразования градусов Цельсия в...

Не могу скомпилировать программу на движке ODE - C++
Суть: имеется движок ODE v.0.12, имеется готовая программка, которая использует движок и генерирует случайные 3-мерные существа на открытом...

Мой любимый Code::Blocks, не могу скомпилировать программу - C++
Приветствую всех! Это жесть просто, словами не описать.. :ireful: Уже второй день не могу скомпилировать программу в ...

Не могу скомпилировать - C++
Как решить?

Не могу скомпилировать - C++
Не могу скомпилировать нетлиб http://cpp-netlib.org/ Суть проблемы:

1
0x10
2479 / 1652 / 248
Регистрация: 24.11.2012
Сообщений: 4,095
20.04.2013, 05:13 #2
Потому что нет тут функции init Oo. Нужно ее написать.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2013, 05:13
Привет! Вот еще темы с ответами:

Не могу скомпилировать? - C++
Не могу скомпилировать программу. Каждый раз такая беда(((

Не могу скомпилировать! - C++
#include &quot;stdafx.h&quot; #include&lt;cmath&gt; using namespace std; int Sign; int main(int argc, char *argv) { setlocale(LC_ALL,...

Не могу скомпилировать исходники - C++
Сегодня скачал исходник Zeus'а. Но при компиляции вылетают ошибки, в visial studio я полный ноль, на билдире пишу. Ошибки ------...

Кениг Эндрю, тема структуры, не могу скомпилировать - C++
Ошибся где-то в коде или не ошибся, кто знает почему не компилируется код на странице 96 книги Кениг Эндрю Эффект-ное программирование на...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru