Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2020, 10:29   #1
vavucho
Пользователь
 
Регистрация: 12.03.2020
Сообщений: 12
По умолчанию не могу понять почему пишет что z и p неинициализированны

Код:
#include<iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;
struct node {
    struct node* left;
    struct node* right;
    struct node* middle;
    int info;
};
//функция обхода
void show(node*& tree)
{
    if (tree != NULL)
    {
        show(tree->left);
        printf("%d", tree->info);
        show(tree->middle);
        show(tree->right);

    }
}
//функция Создание корня дерева;
void add_node(int info, node*& Mytree)
{
    if (NULL == Mytree)
    {
        Mytree = (struct node*)malloc(sizeof(struct node));
        Mytree->info = info;
        Mytree->left = NULL;
        Mytree->right = NULL;
        Mytree->middle = NULL;
    }
    else {
        if (info < Mytree->info)
        {
            if (Mytree->left != NULL)add_node(info, Mytree->left);
            else
            {
                Mytree->left = (struct node*)malloc(sizeof(struct node));
                Mytree->left->left = NULL;
                Mytree->left->right = NULL;
                Mytree->left->middle = NULL;
                Mytree->left->info = info;
            }
        }
        if (info > Mytree->info)
        {
            if (Mytree->right != NULL)add_node(info, Mytree->right);
            else
            {
                Mytree->right = (struct node*)malloc(sizeof(struct node));
                Mytree->right->left = NULL;
                Mytree->right->right = NULL;
                Mytree->right->middle = NULL;
                Mytree->right->info = info;
            }
        }
        if (info == Mytree->info)
        {
            if (Mytree->middle != NULL)add_node(info, Mytree->middle);
            else
            {
                Mytree->middle = (struct node*)malloc(sizeof(struct node));
                Mytree->middle->middle = NULL;
                Mytree->middle->right = NULL;
                Mytree->middle->left = NULL;
                Mytree->middle->info = info;
            }

        }
    }
}
//Поиск минимального значения в дереве
int Minimum(node*& Mytree)
{
    if (Mytree->right != NULL) {
        return Minimum(Mytree->right);
    }
    else {
        printf("MIN:%d", Mytree->info);
        return Mytree->info;
    }
}
int main() {
    int i;
    int z;
    int p;
    printf("input how many elements you want write: ");
    
    struct node* tree = NULL;
    for (i = 0; i <  z; i++)
    {
        printf("input number: ");
        
        add_node(p, tree);
    }
    show(tree);
    Minimum(tree);
    
    return 0;
}
vavucho вне форума Ответить с цитированием
Старый 26.03.2020, 10:32   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

потому что до первого использования их значения нет инициализации (ЗАДАНИЯ этого самого значения) (нет присвоения).
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 26.03.2020 в 10:36.
evg_m вне форума Ответить с цитированием
Старый 27.03.2020, 19:25   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
нет присвоения
Присвоение - это хищение из госбюджета, распил по современному. А оператор - присваивания. Буквоед во мне не утерпел.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пишет NameError: yб не могу понять в чем я ошибся какую ошибку допустил An4n Python 1 08.10.2018 21:28
Не могу понять почему не работает Valeriy_136 Помощь студентам 2 15.10.2017 08:10
с++: компилятор пишет что в 11 строке ошибка, я не могу понять как ее исправить Fox1234 Помощь студентам 2 23.05.2015 14:08
Не могу понять в почему ошибка Donim Паскаль, Turbo Pascal, PascalABC.NET 5 08.06.2011 23:07
Почему не работает...хм....понять не могу! Артур Иваныч Microsoft Office Excel 9 01.12.2009 17:58