27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
1

Заголовочный файл. Хедер

01.11.2011, 13:02. Показов 3099. Ответов 22
Метки нет (Все метки)

Всем привет!) У меня есть программа. Вот она.
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
// Списки и структуры.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include "H1.h"
using namespace std;
 
 
struct Node
{
    char a;
    int d;
    Node *next;
    Node *prev;
 
};
 
Node * first(char a);
void add(Node **pend, char a);
Node * find(Node * const pbeg, int i);
bool remove(Node **pbeg, Node **pend, int key);
Node * incert(Node * const pbeg, Node **pend, int key, char a);
 
int _tmain(int argc, _TCHAR* argv[])
{
    Node *pbeg = first('a'); // Формирование первого элемента списка
    Node *pend = pbeg; // Список заканчивается, едва начавшись
    // Добавление в конец списка четырех элементов 2, 3. 4. и 5:
    int size;
    int ind;
    int scob=0;
    char Form[]={"(ds)("};
    size=strlen(Form);
    for (int i = 0; i<size; i++)
    {
        add(&pend,Form[i]);
        if (Form[i]=='(')
        {
            scob++;
            ind=i;
        }
        if (Form[i]==')')
        {
            scob--;
            ind=i;
        }   
    }
 
    //incert(pbeg, &pend, 'c', 'p');
    // Удаление элемента 5
    //if(!remove (&pbeg, &pend, Form[3]))cout << "не найден";
    // Вставка элемента 200 гюсле элемента 2:
    Node *pv = pbeg;    
    
 
    
    while (pv)
    {
        // вывод списка на экран
        cout << pv->a << ' ';
        pv = pv->next;
    }
    
    if (scob> 0)
           cout << "( bigger"<<ind<<endl;
    else if (scob< 0) 
           cout << ") bigger"<<ind<<endl;
    else if (scob == 0) cout << "Good";
 
 
    
 
    return 0;
}
 
 
//
// Формирование первого элемента
Node * first(char a)
{
    Node *pv = new Node;
    pv->a = a;
    pv->next = 0;
    pv->prev = 0;
    
    return pv;
}
//
// Добавление в конец списка
 
void add(Node **pend,char a)
{
    Node *pv = new Node;
    pv->a = a; 
    pv->next = 0; 
    pv->prev = *pend;
    (*pend)->next = pv;
    *pend = pv;
 
}
 
///////////////////////////////
Node * find(Node * const pbeg,int i)
{
    Node *pv = pbeg;
    while (pv)
    {
        if (pv->a==i)break;
        {
            
            pv=pv->next;
        }
    }
        return pv;
 
 
}
 
// Удаление элемента
 
bool remove(Node **pbeg, Node **pend, int key){
if(Node *pkey = find(*pbeg, key)){
    if (pkey == *pbeg)
    { // 2
        *pbeg = (*pbeg)->next;
        (*pbeg)->prev =0;
    }
    else if (pkey == *pend){ // 3
        *pend = (*pend)->prev;
        (*pend)->next =0;}
else
{    // 4
    (pkey->prev)->next = pkey->next;
    (pkey->next)->prev = pkey->prev;
}
 
delete pkey;
return true; // 5
}
return false; 
}// 6
 
//
// Вставка элемента
 
Node * incert (Node * const pbeg, Node **pend, int key, char a){
if(Node *pkey = find(pbeg, key)){
Node *pv = new Node;
pv->a = a;
// 1 - установление связи нового узла с последующим:
pv->next = pkey->next;
// 2 - установление связи нового узла с предыдущим:
pv->prev = pkey;
// 3 - установление связи предыдущего узла с новым:
pkey->next = pv;
// 4 - установление связи последующего узла с новым:
if( pkey != *pend) (pv->next)->prev = pv;
// Обновление указателя на конец списка,
// если узел вставляется в конец:
else *pend = pv;
return pv;
}
 
return 0;
}
В программе у меня есть заголовочный файл H1.h и H2.h (структура такая cpp-h1-h2, то есть h2 входит в h1)....мне нужно вставить последние функции. Вот эти
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//
// Вставка элемента
 
Node * incert (Node * const pbeg, Node **pend, int key, char a){
if(Node *pkey = find(pbeg, key)){
Node *pv = new Node;
pv->a = a;
// 1 - установление связи нового узла с последующим:
pv->next = pkey->next;
// 2 - установление связи нового узла с предыдущим:
pv->prev = pkey;
// 3 - установление связи предыдущего узла с новым:
pkey->next = pv;
// 4 - установление связи последующего узла с новым:
if( pkey != *pend) (pv->next)->prev = pv;
// Обновление указателя на конец списка,
// если узел вставляется в конец:
else *pend = pv;
return pv;
}
 
return 0;
}
в H2.h как это сделать..просто вставляю ничего не работает.как сделать?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2011, 13:02
Ответы с готовыми решениями:

Заголовочный файл
Здравствуйте. Помогите, пожалуйста, разобраться с заголовочными файлами и функциями-&quot;друзьями&quot;....

Заголовочный файл
Для чево етот файл используется??? Как ево использовать в своей программе помогите хочу разобраться)

Заголовочный файл .h
Здравствуйте уважаемые гуру-программисты! Столкнулся с такой проблемой. Пишу в С++ на линуксе в...

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

22
Делаю внезапно и красиво
Эксперт С++
1312 / 1227 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
01.11.2011, 15:55 21
Цитата Сообщение от BRcr Посмотреть сообщение
Use extern "C" to prevent function names from being mangled in C++ programs.
Использование extern "C" (не упускаем из вида "С") предотвращает декорирование имён в С++ программах.
Слово extern для функций не нужно, т.к. они всегда extern;

Поместить тело (не шаблонной) функции в хэдэр можно только используя ключевое слово inilne.
0
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 23
17.05.2012, 21:38 22
Здрасвуйте! извините не могли бы кое чем помочь?
0
4039 / 2329 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
17.05.2012, 22:56 23
moscowprogramer, нужна помощь - создавай тему, задавай вопросы, описывай подробненько проблемы. Сюда-то зачем писать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2012, 22:56
Помогаю со студенческими работами здесь

Заголовочный файл
Доброго времени суток! Ситуация такая: хочу, исходя из функции, создать заголовочный файл. Но, увы,...

Заголовочный файл
Опишите подробно, пожалуйста , как создается заголовочный файл в среде 2010 . С++

Заголовочный файл
Написал в заголовочном файле вот такой код: #ifndef SALES_DATA_H #define SALES_DATA_H #include...

Заголовочный файл
Исходный файл main.cpp #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;cstring&gt; #include...


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

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

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