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

Вылет при срабатывании деструктора - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача по вложенным циклам http://www.cyberforum.ru/cpp-beginners/thread943920.html
Здравствуйте! Помогите растолковать код, не могу понять какой цикл к чему относится. Вот задача: Напишите программу, использующую вложенные циклы, которая запрашивает у пользователя значение количества строк для отображения. Затем она должна отобразить указанное число строк со звездочками, с одной звездочкой в первой строке, двумя — во второй и т.д: В каждой строке звездочкам должны ...
C++ Вызов функции сразу для массива всего классов Добрый день. Я делаю класс Pixel, и в этом классе есть функция Draw(); Так вот я создаю массив этих классов. Вопрос: Как мне вызвать функцию Draw() каждого экземпляра класса, не используя циклы, ну сразу вызвать одной функцией? P.S. Создание функции которая будет циклом вызывать, не подходит! Гдето видел об этом, правда забыл как это делать. http://www.cyberforum.ru/cpp-beginners/thread943916.html
Как осуществить циклический сдвиг элементов квадратной матрицы C++
Помогите осуществить циклический сдвиг элементов квадратной матрицы размерности MXN вправо на k элементов таким образом: элементы 1-й строки сдвигаются в последный столбец сверху вниз, из него- в последнюю строку справа налево, из нее- в первый сторбец снизу вверх, из него - в первую строку. Для остальных элементов - аналогично. ЗАРАНЕЕ СПАСИБО!!!!!!!
C++ Включить dep в новом проекте
как включить dep в новом проекте? использую visual studio 2010 express
C++ прочитать текстовой файл без заморочек http://www.cyberforum.ru/cpp-beginners/thread943888.html
Люди!! в билдере для чтения текстового файла делал так TStringList *List = new TStringList; List->LoadFromFile(File_name); потом к List обращался по строкам List есть ли для обычного с++ что-то подобное, чтоб можно было делать также и не заморачиваться
C++ Область видимасти членов класса Почему в данном коде функция xxx не распознаёт next как член класса? template<class T> class List { ... void xxx(); private: Node<T>* prev, next; }; подробнее

Показать сообщение отдельно
_Колючий_
3 / 3 / 2
Регистрация: 05.08.2012
Сообщений: 96
26.08.2013, 17:49  [ТС]     Вылет при срабатывании деструктора
Вот полный код

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
class MatrixGraph   
{
int **arcs; //матрица смежности
int n;      //количество вершин
 
bool noAvailible(stek<int> &existed,int current)    // нет доступных вершин
{
for (int j=0; j<n; j++) 
    if (arcs[current][j]!=0 && !existed.find(arcs[current][j])) return false;
return true;
}
 
int firstAvailible(stek<int> &existed,int current)  // одна из непройденных доступных вершин
{
    for (int j=0; j<n; j++) if (arcs[current][j]!=0 && existed.find(arcs[current][j])==false) return j;
}
 
public:
 
MatrixGraph(int vertexnumber)      //конструктор графа
{
n=vertexnumber;
arcs=new int*[vertexnumber];
for(int i=0; i<vertexnumber; i++)
arcs[i]=new int[vertexnumber];
for (int i=0; i<vertexnumber; i++)
    for(int j=0; j<vertexnumber; j++)
        arcs[i][j]=0;
 
}
 
//добавление ребра
void addArc(int from, int to, int weigth=1)
{
arcs[from][to]=weigth;
}   
//Существование ребра
bool hasArc(int from, int to)
{
return arcs[from][to];
}
 
void showMatrix()             // Контроль содержимого матрицы
{
for (int i=0; i<n; i++)
    {for(int j=0; j<n; j++)
    cout<<arcs[i][j]<<' ';
cout<<endl;}
}
 
void passInDepth(int current=0)          // Обход в глубину (не работает)
{
stek<int> backput; 
stek<int> existed; existed.add(current);
cout<<endl<<"Посещен узел № "<<current;
 
while (true)
{
    if (backput.isEmpty() && noAvailible(existed, current)) {cout<<endl<<"Все узлы посещены!"; system("pause"); return;}
    if (noAvailible(existed, current)) {current=backput.popTop(); continue;}
backput.add(current); current=firstAvailible(existed, current); existed.add(current); cout<<endl<<"Посещен узел № "<<current;
}
}
 
~MatrixGraph()                   // деструктор
{
    
for (int i=0; i<n; i++)
    delete []arcs[n];
delete []arcs;
    }
 
};
Добавлено через 40 секунд
Еще применяется стек

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
template<class S>
class stek                //описание стека
{protected:
    struct Item
    {
        S data;
        Item *next;
    };
Item *top;
 
public: 
    
stek(): top(NULL){}    //конструктор стека
 
bool isEmpty() const //Проверка стека на пустоту
{return (top==NULL);}
 
void add(S data)         //добавление эллемента в стек
{Item *temp=new Item;
temp->data=data;
temp->next=top;
top=temp;}
 
void show() const             //Просмотр стека (в случае, если можно вывести на экран)
{
Item *current=top;
while(current)
{
cout<<' '<<current->data;
current=current->next;
}
cout<<endl;
}
 
bool find (S data) const
{
Item *current=top;
while(current)
{
if (data==current->data)
    return true;
current=current->next;
}
return false;
}
 
S first() const              // Получение данных с вершины
{
    return top->data;}
 
void pop()           // удаление вершины
{Item *temp;
if (top)
{temp=top;
top=top->next;
delete temp;}
}
 
S popTop()             // удаление вершины с получением информации
{Item *temp; S data; 
temp=top; data=top->data;
top=top->next;
delete temp;
return data;
}
 
~stek()                //деструктор стека
{
Item *temp=top;
while (top)
{   temp=top;
    top=top->next;
    delete temp;
}
 
}
 
 
};
 
Текущее время: 19:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru