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

почему не компилируется ? - C++

Восстановить пароль Регистрация
 
Верони4е4ка
 Аватар для Верони4е4ка
0 / 0 / 0
Регистрация: 09.02.2013
Сообщений: 42
13.06.2013, 21:06     почему не компилируется ? #1
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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <conio.h>
 
using namespace std;
 
class element  
{
public:
int date; 
element *Next; 
};
 
class Stack 
{
public:
element *Head;
public:
 
void Add(int x, element **In_data) //Принимаем элемент и указатель на указатель на стек
{
Stack *temp=new Stack; //Выделяем память для нового элемента
//temp->x=rand ()%101-50; //Записываем в поле x принимаемый в функцию элемент x
temp->x=x;
temp->Next=(*In_data)->Head; //Указываем, что следующий элемент это предыдущий
(*In_data)->Head=temp; //Сдвигаем голову на позицию вперед
};
 
void ClearStack(element *In_data)
{ 
while (In_data->Head!=NULL) //Пока по адресу не пусто
{ 
Stack *temp=In_data->Head->Next; //Временная переменная для хранения адреса следующего элемента
delete In_data->Head; //Освобождаем адрес обозначающий начало
In_data->Head=temp; //Меняем адрес на следующий
};
}
 
};
 
void Chan(element *In_data, element *Out_data, element *fun) //Нужен только сам стек
{
//int min=51, max=-51, k=0;
element *temp=new Stack; //Выделяем память под временный элемент
temp=In_data->Head; //Указываем ему, что его позиция в голове стека
//с помощью цикла проходим по всему стеку
while (temp!=NULL) //выходим при встрече с пустым полем
{
if (temp->x>=0)
{
fun->Add(temp->x,&Out_data); 
}
temp=temp->Next; //Переходим к следующему элементу
}
}
 
int main()
{
Stack *In_data=new Stack; //Выделяем память для стека
In_data->Head=NULL; //Во избежание ошибок инициализируем первый элемент
Stack *Out_data=new Stack; //Выделяем память для стека
Out_data->Head=NULL; //Во избежание ошибок инициализируем первый элемент
element *fun=new func;
int x=0;
int count=0;
cout«"count=";
cin» count;
cout«endl;
cout«"Stek:"«endl;
for (int i=0;i<count;i++){ 
cin » x;
fun->Add(x,&In_data); //Заносим данные в стек
}
/*In_data->*/Chan(In_data,Out_data,fun); 
cout«"Out stack"«endl;
element *temp=new Stack; //Выделяем память под временный элемент
temp=Out_data->Head; //Указываем ему, что его позиция в голове стека
while (temp!=NULL) //выходим при встрече с пустым полем
{
cout«temp->" ";
temp=temp->Next; //Переходим к следующему элементу
}//Выводим стек на экран
void ClearStack(Stack *In_data); //Очищаем память.
void ClearStack(Stack *Out_data);
_getch();
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
14.06.2013, 21:58     почему не компилируется ? #2
Верони4е4ка, приводите ошибки компилятора что ли.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.06.2013, 22:20     почему не компилируется ? #3
У вас в коде полная путаница между element и Stack.
Верони4е4ка
 Аватар для Верони4е4ка
0 / 0 / 0
Регистрация: 09.02.2013
Сообщений: 42
16.06.2013, 22:52  [ТС]     почему не компилируется ? #4
alsav22, а вы не разберетесь?
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
16.06.2013, 23:01     почему не компилируется ? #5
Верони4е4ка, в коде тьма безумия - легче/приятнее/полезнее самой сызнова написать
Yandex
Объявления
16.06.2013, 23:01     почему не компилируется ?
Ответ Создать тему
Опции темы

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