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

Классы. Непонятная ошибка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Классы.Заголовочные файлы http://www.cyberforum.ru/cpp-beginners/thread810502.html
Здравствуйте.Помогите найти ошибку.В программе.Вот код. /* main.cpp */ #include <iostream> #include <conio.h> #include "Students.h" using namespace std; int main() { setlocale(LC_ALL, "Russian");
C++ Добавить запись в файл, который уже содержит данные Есть файл(название не важно). Необходимо без удаления предыдущих данных ввести новые, например с новой строки http://www.cyberforum.ru/cpp-beginners/thread810488.html
C++ Динамический 2-ный массив, count Sort
Всем привет, я написал сортировку методом ПОДСЧЁТА для двумерного массива с динамической памятью, и вот что то не работает , посмотрите код, я тут на форуме смотрел тему сортировки массивов, и всё равно для двумерного не получается у мня, спасибо заранее. int count_sort(int **ptrarray,int nrow,int ncol) { srand(time(0)); ptrarray = new int* ; for ( int count = 0;...
Как направить вывод из файла C++
Господа, подскажите, как быть с такой задачей. Есть текстовый файл. Допустим, 2 предложения, 10 слов всего. Необходимо каждое слово помещать в массив или вектор (не важно) по отдельности (для дальнейшего сравнения). Выделить слова думаю функцией "strtok", массив, думаю, типа vector <string> V; Но как использовать strtok, если текст в файле?? freopen ("file_name", "r", stdin) ??
C++ Разъясните эту строку как мне это привязать к функции http://www.cyberforum.ru/cpp-beginners/thread810460.html
double (*func4 (double, double)); - как это привязать к функции, как я понимаю это масив указателей на функцию, но она почему то не получается привязать
C++ Двунаправленный список (добавление/удаление элементов в голову, просмотр списка, реализовать дублирование элементов с заданным значением) Здравствуйте! Помогите написать программу, обеспечивающую работу с двунаправленным нециклическим списком: добавление/удаление элементов в голову, просмотр списка, реализовать дублирование элементов с заданным значением. Желательно самый простой способ и с комментариями и алгоритм работы. Заранее спасибо. подробнее

Показать сообщение отдельно
DU
1478 / 1054 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
16.03.2013, 22:40     Классы. Непонятная ошибка
чтобы не мучить себя и остальных, привели бы минимальное количество кода, которое приводит к проблеме. так, чтобы руками ничего не надо было вводить.
беглым взглядом в нескольких местах нашел такой код:

C++
1
2
3
4
5
6
7
8
BTree I(U, Au, N, Y, Am, NULL);
Father = &I;
выход из скоупа
 
или
BTree I(U, Au, N, Y, Am, P);
P->set_Next1(&I);
выход из скоупа
Т.е. куда-то сохраняется указатель на локальный объект, потом выход из скоупа с разрушением локального объекта, ну а указатели дальше где-то как-то используются. это ошибка.

Добавлено через 10 минут
еще более глобальная ошибка - вы неправильно реализовываете дерево.
у вас должен быть класс дерева.
он должен отвечать за то, как внутри себя размещать узлы. в узлах содержатся как данные, так и указатели на другие узлы.
т.е. примерно так все должно выглядеть.
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
struct Data
{
    string str1;
    string str2;
    // прочие поля
};
 
 
struct Node
{
   Data data;
   Node* prev;
   Node* next1; // лучше назвать left
   Node* next2; // лучше назвать right
};
 
class BTree
{
    Node* head;
 
    add(const Data&, position);
    // Вот тут в фунцию add желательно копию данных, а не готовый узел + какие-то координаты,
    // чтобы в реализации функции найти позицию, в которую воткнуть новый узел.
    // Реализация функции add такова, что она ищет правильное место, куда воткнуть узел, создает
    // узел, копирует в него данные и настраивает связи с другими узлами.    
};
 
Текущее время: 17:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru