0 / 0 / 0
Регистрация: 27.12.2015
Сообщений: 37
1

Компиляция файла

21.09.2017, 17:55. Показов 405. Ответов 2
Метки нет (Все метки)

Здравствуйте. Создал проект, сбыдлокодил, начинаю компилировать в .exe, пишет кучу бреда, мол не то ты мне суешь, вот это мне не надо). Так как я не программист, а всего лишь учусь, задали нам одну задачку, после танцов с бубнами после работы, что то да получилось, но вот с компиляцей не все так хорошо у меня. Пробовал по разному и так и эдак, слегка поддается. Может я что то вообще не так делаю и решение лежит прям перед глазами, но не вижу ничего. Что там, да простят меня всея сущность, не так?
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <malloc.h>
#include <time.h>
#include <Windows.h>
typedef int ElementType;
typedef struct AvlNode* Position;
typedef struct AvlNode* AvlTree;
struct AvlNode {
    ElementType Element;
    AvlTree Left;
    AvlTree Right;
    int Height;
};
AvlTree MakeEmpty(AvlTree T);
Position Find(ElementType X, AvlTree T);
Position FindMin(AvlTree T);
Position FindMax(AvlTree T);
AvlTree Insert(ElementType X, AvlTree T);
ElementType Retrieve(Position P);
void printTree(AvlTree T, int l = 0);
//функция удаления вершины и ее поддеревьев
AvlTree MakeEmpty(AvlTree T)
{
    if (T != NULL) {
        MakeEmpty(T->Left);
        MakeEmpty(T->Right);
        free(T);
    }
    return NULL;
}
// поиск вершины со значением X
Position Find(ElementType X, AvlTree T)
{
    if (T == NULL)
        return NULL;
    if (X < T->Element)
        return Find(X, T->Left);
    else if (X > T->Element)
        return Find(X, T->Right);
    else
        return T;
}
//функция поиска вершины с минимальным значением
Position FindMin(AvlTree T)
{
    if (T == NULL)
        return NULL;
    else if (T->Left == NULL)
        return T;
    else
        return FindMin(T->Left);
}
//функция поиска вершины с максимальным значением
Position FindMax(AvlTree T)
{
    if (T != NULL)
        while (T->Right != NULL)
            T = T->Right;
    return T;
}
//функция возвращает вес вершины
int Height(Position P)
{
    if (P == NULL)
        return -1;
    else
        return P->Height;
}
int Max(int Lhs, int Rhs)
{
    if (Lhs > Rhs)
        return Lhs;
    return Rhs;
}
/*функция выполняет правый поворот между вершиной K2 и ее ле-
вым потомком*/
Position SingleRotateWithLeft(Position K2)
{
    Position K1;
    K1 = K2->Left; //записываем левый указатель на потомка дере-
    K2->Left
        = K1->Right;
    K1->Right = K2;
    K2->Height = Max(Height(K2->Left), Height(K2->Right)) + 1;
    K1->Height = Max(Height(K1->Left), K2->Height) + 1;
    return K1; //Новый корень
}
/*функция выполняет левый поворот между вершиной K1 и ее пра-
вым потомком*/
Position SingleRotateWithRight(Position K1)
{
    Position K2;
    K2 = K1->Right; /*записываем правый указатель на потомка де-
рева*/
    K1->Right = K2->Left;
    K2->Left = K1;
    K1->Height = Max(Height(K1->Left), Height(K1->Right)) + 1;
    K2->Height = Max(Height(K2->Right), K1->Height) + 1;
    return K2; //новый корень
}
//функция выполняет двойной лево-правый поворот
Position DoubleRotateWithLeft(Position K3)
{
    // поворот между K1 и K2/
    K3->Left = SingleRotateWithRight(K3->Left);
    // поворот между K3 и K2
    return SingleRotateWithLeft(K3);
    
}
 
Position DoubleRotateWithRight(Position K1)
{
    // поворот между K3 и K2
    K1->Right = SingleRotateWithLeft(K1->Right);
    // поворот между K1 и K2
    return SingleRotateWithRight(K1);
}
//функция вставки вершины в АВЛ-дерево
AvlTree Insert(ElementType X, AvlTree T)
{
    if (T == NULL) {
        T = (AvlTree)malloc(sizeof(AvlNode));
        if (T == NULL)
            printf("Недостаточно памяти!!!\n");
        else {
            T->Element = X;
            T->Height = 0;
            T->Left = T->Right = NULL;
        }
    }
    else if (X < T->Element) {
        T->Left = Insert(X, T->Left);
        if (Height(T->Left) - Height(T->Right) == 2)
            if (X < T->Left->Element)
                T = SingleRotateWithLeft(T);
            else
                T = DoubleRotateWithLeft(T);
    }
    else if (X > T->Element) {
        T->Right = Insert(X, T->Right);
        if (Height(T->Right) - Height(T->Left) == 2)
            if (X > T->Right->Element)
                T = SingleRotateWithRight(T);
            else
                T = DoubleRotateWithRight(T);
    }
    T->Height = Max(Height(T->Left), Height(T->Right)) + 1;
    return T;
}
//функция возвращает значение, хранящееся в вершине
ElementType
Retrieve(Position P)
{
    return P->Element;
}
//функция вывода АВЛ-дерева на печать
void printTree(AvlTree T, int l)
{
    int i;
    if (T != NULL) {
        printTree(T->Right, l + 1);
        for (i = 0; i < l; i++)
            printf(" ");
        printf("%d", Retrieve(T));
        printTree(T->Left, l + 1);
    }
    else
        printf("\n");
}
int main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int i, *a, maxnum;
    AvlTree T;
    Position P;
    int j = 0;
    printf("Введите максимум чисел : ");
    scanf("%d", &maxnum);
    printf("\n");
    a = (int*)malloc(sizeof(int) * maxnum);
    srand(time(NULL) * 1000);
    // генерация массива
    for (i = 0; i < maxnum; i++)
        a[i] = rand() % 100;
    printf("Выпавшие цифры\n");//аля лотерея
    for (i = 0; i < maxnum; i++)
        printf("%d \n\n", a[i]);
 
    // добавление элементов в АВЛ-дерево
    T = MakeEmpty(NULL);
    for (i = 0; i < maxnum; i++)
        T = Insert(a[i], T);
    printf("АВЛ-дерево\n");
    printTree(T);
    printf("\nВведи вершину для поиска\n");
    int temp;
    scanf("%d", &temp);
    Position Temp_node = NULL;
    //поиск вершины с заданным номером temp
    Temp_node = Find(temp, T);
    if (Temp_node != NULL)
        printf("\nВершина %d найдена\n", Temp_node->Element);
    else
        printf("\nНет такой вершины!\n");
    getch();
    printf("\nMin = %d, Max = %d\n", Retrieve(FindMin(T)),
           Retrieve(FindMax(T)));
    // удаление АВЛ-дерева
    T = MakeEmpty(T);
    free(a);
    getch();
    return 0;
}
Добавлено через 15 минут
Вот еще что, при запуске, он то выводит хоть что то, а часто бывает что вообще ничего, вот вроде пишет без ошибок, а потом бац, все закрывается.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2017, 17:55
Ответы с готовыми решениями:

Компиляция файла cpp
Ситуация: среды visual studio нет и не будет. Имеется файл с расширением cpp. Как его...

Компиляция более одного файла вместе
Добрый вечер . Изучаю учебник Прата . И началась тема про компиляцию более одного файла вместе . а...

компиляция файла ms visual studio 2010
первый раз запустил программу , компилировал командой шифт+кнтрл+в , второй раз зашел в программу -...

Компиляция программы из файла cpp через командную строку
Допустим я написал этот код в стандартном виндовском блокноте #include &lt;iostream&gt; int...

2
"C with Classes"
1581 / 1360 / 511
Регистрация: 16.08.2014
Сообщений: 5,647
Записей в блоге: 1
21.09.2017, 19:07 2
billerafont, твой вопрос нужно сформулировать по другому. Ничего не понимаю, не понимаю даже того что я не понимаю, объясните мне что нибудь.

Добавлено через 6 минут
billerafont, если прога запускается, значит в ней остались только логические ошибки и ошибки времени выполнения, твоя задача научится пользоваться отладчиком и прогнать программу по шагам.
0
Модератор
Эксперт С++
12088 / 9763 / 5906
Регистрация: 18.12.2011
Сообщений: 26,213
21.09.2017, 19:51 3
Программа компилируется и исполняется.
Задайте более конкретный вопрос.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2017, 19:51
Помогаю со студенческими работами здесь

Раздельная компиляция: как быть, если код не компилируется, так как два файла подключают друг друга?
Доброго времени суток. У меня есть какой-нибудь x.h: #include &quot;y.h&quot; class A { vector&lt;B*&gt; v;...

Компиляция с BAT-файла
main.cpp #include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;cstdio&gt; #include &lt;conio.h&gt; using...

Компиляция Dll файла
Здравствуйте! При компиляции из VS13 вылазит такая ошибка 2&gt;tile.obj : error LNK2005: &quot;void *...

Компиляция *.exe файла в Visual C++ 6.0
Всем доброго времени суток! Есть игра с исходным кодом (спасибо девелоперам) в которой есть...

Компиляция срр файла из командной строки
Здравствуйте! Пытаюсь из командной строки скомпилировать файл, но выводит такую ошибку fatal...

Компиляция сразу двух версий файла, возможно ли?
Можно ли компилировать dll библиотеку одновременно в двух версиях, где, к примеру &quot;#define MyDef...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru