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

Как исправить ошибку? - C++

Восстановить пароль Регистрация
 
Forumhelp
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
18.11.2013, 23:38     Как исправить ошибку? #1
Предупреждение 5 warning C4700: использована неинициализированная локальная переменная "a" 93строчка


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
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
struct unit
{
    int k;
    unit *left, *right;
};
void push(int a,unit **tr)
{
    if (*tr==NULL) 
    {
        *tr=new unit;
        (*tr)->k=a; 
        (*tr)->left=(*tr)->right=NULL; 
        return; 
    }
    if (a>(*tr)->k) 
        push(a,&(*tr)->right);
    else 
        push(a,&(*tr)->left);
}
void disp(unit *tr,int lvl)
{
    if(tr)
    {
        disp(tr->left,lvl + 1);
        for(int i=0; i<lvl; i++) 
            printf("  ");
        printf("%i\n",tr->k);
        disp(tr->right,lvl + 1);
    }
}
 
 
 
void delnode(unit *tree, unit **secondtree,int c)
{
    if(c!=tree->k)
        push(tree->k,secondtree);
    if(tree->left!=NULL)
        delnode(tree->left,secondtree,c);
    if(tree->right!=NULL)
        delnode(tree->right,secondtree,c);
}
 
void printmax(unit *tr,int c)
{
    if(tr==NULL)
        return;
    if(tr->left!=NULL)
        printmax(tr->left,c);
    if(tr->right!=NULL)
        printmax(tr->right,c);
    if(tr->left==NULL&&tr->right==NULL)
        return;
    else if (tr->k>c)
    {
        printf("%i ",tr->k);
        return;
    }   
}
 
void del(unit *tr)
{
    if(tr==NULL)
        return;
    if((tr)->left!=NULL)
        del((tr)->left);
    if((tr)->right!=NULL)
        del((tr)->right);
    delete tr;
}
 
void main()
{   
    
    setlocale(0,"Russian");
    unit *start=NULL, *fin=NULL;
    
int n;
 
int a;
 
printf("введите количество элементов ");
scanf("%i",&n);
 
for (int i=0; i<n; ++i) {
printf("Введитете число \n");
scanf("%i",&n);
push(a,&start);
}
    printf("Дерево:\n");
    disp(start,0);
    int key;
    printf("\nВведите значение: ");
    scanf("%i",&key);
    printf("\n");
    printmax(start,key);
    printf("\nВведите узел для удаления: ");
    int kd;
    scanf("%i",&kd);
    delnode(start,&fin,kd);
    disp(fin,0);
    del(start);
    del(fin);
    _getch();       
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2013, 23:38     Как исправить ошибку?
Посмотрите здесь:

как исправить ошибку C++
Как исправить ошибку? C++
Как исправить ошибку C++
C++ Как исправить ошибку?
C++ Как исправить ошибку?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 928
Завершенные тесты: 1
18.11.2013, 23:43     Как исправить ошибку? #2
Это не ошибка, а предупреждение. И вашем случае вполне уместное. Посмотрите внимательней на строку 92.
Forumhelp
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
19.11.2013, 00:32  [ТС]     Как исправить ошибку? #3
scanf("%i",&a); так??
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 928
Завершенные тесты: 1
19.11.2013, 00:34     Как исправить ошибку? #4
Ну по поводу "a", да.
Forumhelp
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
19.11.2013, 00:47  [ТС]     Как исправить ошибку? #5
О ну вроде работает)) Может будут какие-то замечания?)
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 928
Завершенные тесты: 1
19.11.2013, 00:55     Как исправить ошибку? #6
1. Не используемые хедера.
2. После "if (cond) ruturn;" не имеет смылска писать "else if(other cond)", можно просто if(other cond);
3. Форматирование.
Yandex
Объявления
19.11.2013, 00:55     Как исправить ошибку?
Ответ Создать тему
Опции темы

Текущее время: 13:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru