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

Не хочет передавать ДМУ функции!..:( - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ чем отлаживать dll http://www.cyberforum.ru/cpp-beginners/thread317584.html
у меня есть dll она загружается в коммерческий продукт исходников которого у меня нет естественно. как мне ее отлаживать?
C++ Программа которая выводит на экран геометрическую фигуру Разработать программу, которая выводит на экран геометрическую фигуру, заполняя ее символом ‘*’ или пробелом. Размер фигуры (n) определяется при вводе. Само задание: Заполненный равнобедренный треугольник. Основание - n, высота - n/2+1(n - нечетное) http://www.cyberforum.ru/cpp-beginners/thread317571.html
C++ Ошибка в функции strrchr
Добрый вечер! помогите найти причину ошибки. делала программу, считывающую текст из файла, сортирующую его по частоте слов, и записывающую обратно в файл. //Объявите класс с именем text. Объявите функцию show(), функция сортирования текста по возрастанию. //Текст можно вставить любой, а сортировать по количеству букв в слове от меньшего к большему ну или на оборот. #include <ctype>...
C++ Проверка порядка чисел в матрице
Здравствуйте. Мучает такой вопрос: есть матрица 4 на 4, пользователь заполняет матрицу сам - заполняет числами от 1 до 16 ( строго в такой последовательности нужно). Программа расставляет эти числа в матрице соответственно. Мне нужна проверка того, правильно ли ввел числа пользователь. Т.е. вдруг он ввел числа не по порядку, а наоборот - 16,15,14... или вообще не те числа ( к примеру 24 27....75...
C++ Вычислить значение функции 2 http://www.cyberforum.ru/cpp-beginners/thread317550.html
Вычислить значение функции при заданных значениях параметров Заранее спасибо...
C++ Вопрос по исключениям в шаблонах классов Кто подскажет как реализовать исключения в следующей задаче: Создать шаблонный класс, в котором создать одномерный массив и найти сумму элементов от n до m. Не могу понять как это сделать, кто может подсказать - буду благодарен, заранее СПАСИБО. подробнее

Показать сообщение отдельно
Akkoks
0 / 0 / 0
Регистрация: 10.06.2011
Сообщений: 31
11.06.2011, 15:07     Не хочет передавать ДМУ функции!..:(
Отладчик ругается при вызове функции ссылаясь на то что МУ присвоен неправильный указатель... не получается решить данную проблему. Это часть курсовой работы и идею алгоритма менять нельзя. Уже час парюсь ничего не добился путного... помогите
частые выводы - это ручная отладка, там где "-ок" программа прошла данный отрезок без нареканий...

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
#include <stdio.h>
#include <string.h>
int N=4;
struct tree{
    int n;      // Значений в поддереве
    char **s; 
    tree *l,*r;
    void creat(){r=l=NULL; n=NULL; s=new char*[N]; for(int i=0;i<N;i++) s[i]="null"; } //создание пустой вершины
void create(char** s0,int n0){ //создание вершины со значением - не хочет принимать МУ... отладчик ругается на неправильный указатель
    r->l=NULL;
    n=n0;
    s=s0;
}};
void exteud(tree *p) //функция при переполнении МУ на строки  в концевой вершине порождает 2 потомка и делит МУ на 2 части
{
    for(int i=0;i<N;i++)
        printf_s("%s\t",p->s[i]);// -ок
    p->l=new tree;
    p->l->create(p->s,p->n); //перенос значений вершины в потомка  <------вот тут неправильно передает МУ
    p->r=new tree;
    p->r->creat();//создание пустого правого потомка
    p->l->n=p->r->n=N/2;//разделить на 2 части 
    for(int i=0;i<N/2;i++)
        p->r->s[i]=p->l->s[i+N/2]; //переписывание половины в правую концевую
    }
void insert(tree *p,char *c){ //включение строки
        if(p->l==NULL) //конечная
        {
            printf("%s\t",c);// -ок
            char *ss;
            ss=new char[strlen(c)];
            strcpy(ss,c);
            printf("%s\t",ss);//-ок
            p->s[p->n]=ss;//присваиваем МУ
            printf_s("%s\t", p->s[p->n]);// -ок
            p->n++;
            if(p->n==N)
            exteud(p); //проверка на переполнение
            return;
        }
        p->n++;
            insert(p->l,c);
            insert(p->r,c);
    }
void main(){
        tree *ph=new tree;
        char c[50];
        int rt;
        int m;
        int lvl=0;
        ph->creat();
        FILE *fd=fopen("asd.txt","r");
        while(!feof(fd))
        {
            fscanf(fd,"%s",c);
            insert(ph,c);   
        }
}


Добавлено через 16 часов 48 минут
Уже второй день мучаюсь... все делаю как в учебнике сказано, как показано в примерах, но ничего не выходит =(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru