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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
b0n4b
2 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 100
#1

Объединить в один код - C++

30.05.2012, 22:40. Просмотров 498. Ответов 3
Метки нет (Все метки)

Здравствуйте. У меня такое дело... Есть несколько файлов, но мне нужно объединить их в один. Пытался переделать - не получается. Прошу помочь..
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
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
MySet.cpp
#include "StdAfx.h"
#include <stdio.h>
#include <iostream>
#include "MySet.h"
 
//#define MyDebug
 
// Конструктор множества на new_size элементов
MySet::MySet(int new_size)
// new_size - размер нового множества
{
int *temp;
#ifdef MyDebug
printf("Set constr 1 ... %p (size=%d) buf = %p\n", this, size, buf);
#endif
    size=0;
    // 1
    if (new_size < 1) new_size=1;
    // 2
    temp=new int [new_size];
    if (temp == NULL)
        return;
    buf=temp;
    size=new_size;
    // 3
    kol=0;
#ifdef MyDebug
printf("Set constr 2 ... %p (size=%d) buf = %p\n", this, size, buf);
#endif
}
 
// Декструктор
MySet::~MySet()
{
#ifdef MyDebug
printf("Kill 1 ... %p (size=%d) buf = %p\n", this, size, buf);
#endif
    // 3
    // kol=0;
    // 2
    if (size > 0)
    {
        delete [] buf;
        buf=NULL;
    }
    // 1
    size=0;
#ifdef MyDebug
printf("Kill 2 ... %p (size=%d) buf = %p\n", this, size, buf);
#endif
}
 
// Конструктор из множества
MySet::MySet(MySet &c)
//
{
int *temp;
#ifdef MyDebug
printf("Set constr (%p %d %p) 1 ... %p (size=%d) buf = %p\n", &c, c.size, &(c.buf), this, size, buf);
#endif
    // 1
    size=c.size;
    buf=NULL;
    kol=0;
    // 2
    if (size > 0)
    {
        temp=new int [size];
        if (temp == NULL)
            return;
        buf=temp;
    }
    else
        buf=NULL;
    // 3 - переписать элементы из старого множества
    for (int i=0; i<c.kol; i++)
        buf[i]=c.buf[i];
    kol=c.kol;
#ifdef MyDebug
printf("Set constr (%p %d %p) 2 ... %p (size=%d) buf = %p\n", &c, c.size, &(c.buf), this, size, buf);
#endif
}
 
// операция присваивания
MySet & MySet::operator =(MySet& c)
//
{
#ifdef MyDebug
printf("= constr (%p %d %p) 1 ... %p (size=%d) buf = %p\n", &c, c.size, c.buf, this, size, buf);
#endif
 
if (this == &c)
  return *this; // чтобы избежать случая a=a
 
int *temp;
 
    // 2
    if (c.size > 0)
    {
        temp=new int [c.size];
        if (temp == NULL)
        {
            size=0;
            kol=0;
            buf=NULL;
            return *this;
        }
        // 3 - переписать элементы из старого множества
        for (int i=0; i<c.kol; i++)
            temp[i]=c.buf[i];
 
        delete [] buf; // освободить место под старым буфером
        buf=temp;
        kol=c.kol;
        size=c.size;
    }
    else
    {
        if (size > 0)
            delete [] buf; // освободить место под старым буфером
 
        buf=NULL;
        kol=0;
        size=0;
    }
 
#ifdef MyDebug
printf("= constr (%p %d %p) 2 ... %p (size=%d) buf = %p\n", &c, c.size, c.buf, this, size, buf);
#endif
 
return *this;
}
 
// получить количество записанных элементов
int MySet::getKol (void)
{
    return kol;
}
 
// получить выделенный размер
int MySet::getSize (void)           
{
    return size;
}
 
// получить элемент с номером k
int MySet::getEl (int k)            
{
    if (0 <= k && k < kol)
        return buf[k];
    return -1; // Ошибка
}
 
// скопировать множество
//MySet MySet::operator =(MySet& b)
//{
//  // 3
//  // kol=0;
//  // 2
//  if (size > 0)
//      delete [] buf;
//  // 1
//  size=0;
//  return MySet(b);
//}
 
// очистить множество
void MySet::Clean(void)
{ 
    kol=0;
}
 
 
// узнать размер свободного места
int MySet::Size(void)
{ 
    return size-kol;
}
 
// расширить множество для добавления kol_el элементов
int MySet::resize(int kol_el)
// kol_el - на сколько расширить множества
{ 
int *temp, new_size;
    if (kol_el < 10)
        kol_el=10;
    new_size=size+kol_el;
    // 2
    temp=new int [new_size];
    if (temp == NULL)
        return -1;
    // 3 - переписать элементы из старого множества
    for (int i=0; i<kol; i++)
        temp[i]=buf[i];
    delete [] buf;
    buf=temp;
    size=new_size;
    return 0; // пока нельзя!
}
 
// проверить, есть ли элемент в множестве и если есть, то вернуть его номер
// !предполагается, что в множестве все элементы присутствуют по 1 разу (не более)
int MySet::PosInSet(int el)
{ // реализовать бинарный поиск
int f=0, e=kol-1; // то, что мы ищем где-то между f и e (задать границы буфера)
    while (f<=e) // пока массив не схлопнется
    {
        int m=(e+f) / 2; // найдём середину
        if (buf[m]>el) // отбросить правую часть массива
            e=m-1;
        else // buf[m] <= el
            if (buf[m]<el) // отбросить левую часть массива
                f=m+1;
            else // buf[m] = el
                return m;
    }
    return -f-2; // нет элемента (f - последнее место, где мог бы быть элемент
}
 
// Проверить, есть ли элемент в множестве
int MySet::InSet(int el)
{
    if (PosInSet(el)<0)
        return 0;
    else
        return 1;
}
 
// проверить, есть ли элемент в множестве
// !предполагается, что в множестве все элементы присутствуют по 1 разу (не более)
int MySet::InSetLin(int el)
{ // реализовать линейный поиск на отсортированном по возрастанию массиве
    for (int i=0; i<kol; i++)
        if (buf[i]==el) // нашли!!!
            return 1;
    return 0; // нет элемента :-(
}
 
// сдвинуть вправо элементы в множестве начиная с позиции pos (место уже есть)
void MySet::ShiftInSet(int pos)
{
    for (int i=kol-1; i>=pos; i--)
        buf[i+1]=buf[i];
}
 
// сдвинуть влево элементы в множестве начиная с позиции pos (убрать элемент [pos])
void MySet::DelInSet(int pos)
{
    for (int i=pos; i<=kol; i++)
        buf[i]=buf[i+1];
    kol--;
}
 
// добавить элемент в множество
int MySet::AddInSet(int el)
{ 
    // проверить свободное место
    if (Size() < 1)
        if (resize (1)!=0) // не смогли выделить место
            return -1; // ошибка
    // добавить элемент в нужное место
    int p=PosInSet(el); // проверить, а нет ли его уже у нас
    if (p < 0) // ещё пока нет
    { 
        p=-p-2; // восстановим позицию, в которую надо добавить наш элемент
        ShiftInSet(p);
        buf[p]=el;
        kol++;
        return 1; // добавили 1 элемент
    }
    return 0; // ничего не добавили (уже есть)
}
 
// показать элементы множества
void MySet::show(void)  
{
    if (kol==0)
        printf ("\nПустое множество\n");
    else
    {
        printf("\n%d (%d) : { ", kol, size);
        for (int i=0; i<kol-1; i++)
            printf ("%d, ", buf[i]);
        printf ("%d }\n", buf[kol-1]);
    }
}
 
// задать элементы множества из буфера
// функция возвращает количество действительно добавленных элементов и -1 при ошибке
int MySet::get(int kol_el, int new_el[])
{
int k=0; // количество добавленных элементов
    // проверить свободное место
    if (kol_el > size-kol)
        if (resize (kol_el)==0) // не смогли выделить место
            return -1;
    // добавить элементы из буфера по одному
    for (int i=0; i<kol_el; i++)
        if (AddInSet(new_el[i])==1)
            k++;
    return k;
}
 
// задать элементы множества руками
int MySet::get(void)
{
int t [100], k;
    printf ("Введите количество элементов для добавления (1..100): ");
    scanf_s("%d",&k);
    if (k<1 || k>100) k=1;
    printf ("Введите %d элементов\n", k);
    for (int i=0; i<k; i++)
        scanf_s("%d", &t[i]);
    return get (k, t);  
}
 
// добавить элементы из второго множества
int MySet::Add(MySet &b)
{
    for (int i=0; i<b.kol; i++)
        AddInSet(b.buf[i]); // здесь можно обработать возможную ошибку добавления (-1 - ошибка, 0 - элемент уже есть, т.е. не добавили, 1 - добавили 1 элемент
    return 0;
}
 
// удалить элементы второго множества из своего
int MySet::Sub(MySet &b)
{
    // просмотреть элементы второго множества
    for (int i=0; i<b.kol; i++)
    {
        int p=PosInSet(b.buf[i]); // проверить, а нет ли его уже у нас
        if (p >= 0) // есть, надо удалить
            DelInSet(p);
    }
    return 0;
}
 
// сформировать пересечение множеств
int MySet::Intersect(MySet &b)
{
    // просмотреть все элементы своего множества
    for (int i=0; i<kol; i++)
        if (!b.InSet(buf[i])) // проверить, есть ли он во втором множестве
        { // нет, надо удалить у нас
            DelInSet(i);
            i--;
        }
    return 0;
}
 
//std::ostream & operator <<(std::ostream & cout_, const MySet& obj_)
std::ostream & operator <<(std::ostream & cout_, MySet& obj_)
{
int k, s;
    k=obj_.getKol();
    if (k==0)
        cout_ << "\nПустое множество\n";
    else
    {
        s=obj_.getSize();
        cout_ << "\n" << k << " (" << s << ") : { ";
        for (int i=0; i<obj_.kol-1; i++)
            cout_ << obj_.getEl(i) << ", ";
        cout_ << obj_.getEl(k-1) << " }\n";
    }
    return cout_;
}
 
std::istream & operator >>(std::istream & cin_, MySet& obj_)
{
int k, t;
    cin_ >> k;
    for (int i=0; i<k; i++)
    {
        cin_ >> t;
        obj_.AddInSet(t);
    }
    return cin_;
}
 
// добавить элементы из второго множества
MySet & MySet::operator += (MySet& b)   
{
    //this=this+b
    this->Add(b);
return *this;
}
 
// удалить элементы второго множества
MySet & MySet::operator -= (MySet& b)   
{
    //this=this-b
    this->Sub(b);
return *this;
}
 
// сформировать пересечение множеств
MySet & MySet::operator *= (MySet& b)   
{
    //this=this-b
    this->Intersect(b);
return *this;
}
 
/*
// добавить элементы из второго множества
MySet operator+ (MySet a, MySet b)  
{
    MySet t;
    t=a;
    t+=b;
    return t;
}
 
// удалить элементы второго множества
MySet & MySet::operator - (MySet& b)    
{
    MySet t(*this);
    t-=b;
    return MySet(t);
}
 
// сформировать пересечение множеств
MySet & MySet::operator * (MySet& b)    
{
    MySet t(*this);
    t*=b;
    return MySet(t);
}
*/
 
/*
// сложить элементы из множеств
MySet MySet::operator +(const MySet &b) const
{
    MySet t=*this;
    t+=b;
    return t;
}
 
 
// сложить элементы из множеств
MySet operator +(const MySet &a, const MySet &b)
{
    MySet t=a;
    t+=b;
    return t;
}
*/
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
MySet.h
#pragma once
#include <iostream>
 
class MySet
{
private:
    int *buf;                   // место для хранения элементов множества
    int size;                   // выделенный размер
    int kol;                    // количество записанных элементов
    int resize (int kol_el);    // расширить множество для добавления kol_el элементов
 
private:
    void ShiftInSet(int pos);   // сдвинуть элементы в множесте вправо, начиная с позиции pos
    void DelInSet(int pos);     // сдвинуть элементы в множесте влево, начиная с позиции pos
 
public:
    // конструктор
    MySet(int new_size=10);     // создать пустое множество на new_size элементов
    MySet(MySet &c);            // скопировать множество
    // деструктор
    ~MySet();   
 
    int getKol (void);          // получить количество записанных элементов
    int getSize (void);         // получить выделенный размер
    int getEl (int k);          // получить элемент с номером k
 
public:
 
    MySet & operator =(MySet& b); // скопировать множество
    void show(void);            // показать элементы множества
    int Size(void);             // узнать размер свободного места
    void Clean(void);           // очистить множество
    int get(void);              // задать элементы множества
    int get(int kol_el, int new_el[]);  // задать элементы множества
    int InSet(int el);          // проверить, есть ли элемент в множестве
    int PosInSet(int el);       // проверить, есть ли элемент в множестве и вернуть его номер (бинарный поиск)
    int InSetLin(int el);       // проверить, есть ли элемент в множестве (линейный поиск)  
    int AddInSet(int el);       // добавить 1 элемент в множество
    int Add(MySet &b);          // добавить элементы из второго множества
    int Sub(MySet &b);          // удалить элементы второго множества
    int Intersect(MySet &b);    // сформировать пересечение множеств
 
    friend std::istream & operator >>(std::istream & is, MySet&);
    friend std::ostream & operator <<(std::ostream & os, MySet &);
    //friend std::ostream & operator <<(std::ostream & os, const MySet &);
 
    MySet & operator += (MySet& b); // добавить элементы из второго множества
    MySet & operator -= (MySet& b); // удалить элементы второго множества
    MySet & operator *= (MySet& b); // сформировать пересечение множеств
 
    //MySet & operator + (MySet& b);    // добавить элементы из второго множества
    //MySet & operator - (MySet& b);    // удалить элементы второго множества
    //MySet & operator * (MySet& b);    // сформировать пересечение множеств
 
    //MySet operator + (const MySet&) const ;   // сложить элементы из множеств
    //friend MySet operator + (const MySet&, const MySet&); // сложить элементы из множеств
};

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
Set.cpp
stdafx.h : include file for standard system include files,
or project specific include files that are used frequently, but
are changed infrequently
 
 
#pragma once
 
// TODO: reference additional headers your program requires here
 
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <iostream>
#include <iostream>
using namespace std
 
class MySet
{
private:
    int *buf;                   // место для хранения элементов множества
    int size                    // выделенный размер
    int kol;                    // количество записанных элементов
    int resize (int kol_el);    // расширить множество для добавления kol_el элементов
 
private:
    void ShiftInSet(int pos);   // сдвинуть элементы в множесте вправо, начиная с позиции pos
    void DelInSet(int pos);     // сдвинуть элементы в множесте влево, начиная с позиции pos
 
public:
    // конструктор
    MySet(int new_size=10);     // создать пустое множество на new_size элементов
    MySet(MySet &c);            // скопировать множество
    // деструктор
    ~MySet();   
 
    int getKol (void);          // получить количество записанных элементов
    int getSize (void);         // получить выделенный размер
    int getEl (int k);          // получить элемент с номером k
 
public:
 
    MySet & operator =(MySet& b); // скопировать множество
    void show(void);            // показать элементы множества
    int Size(void);             // узнать размер свободного места
    void Clean(void);           // очистить множество
    int get(void);              // задать элементы множества
    int get(int kol_el, int new_el[]);  // задать элементы множества
    int InSet(int el);          // проверить, есть ли элемент в множестве
    int PosInSet(int el);       // проверить, есть ли элемент в множестве и вернуть его номер (бинарный поиск)
    int InSetLin(int el);       // проверить, есть ли элемент в множестве (линейный поиск)  
    int AddInSet(int el);       // добавить 1 элемент в множество
    int Add(MySet &b);          // добавить элементы из второго множества
    int Sub(MySet &b);          // удалить элементы второго множества
    int Intersect(MySet &b);    // сформировать пересечение множеств
 
    friend std::istream & operator >>(std::istream & is, MySet&);
    friend std::ostream & operator <<(std::ostream & os, MySet &);
    //friend std::ostream & operator <<(std::ostream & os, const MySet &);
 
    MySet & operator += (MySet& b); // добавить элементы из второго множества
    MySet & operator -= (MySet& b); // удалить элементы второго множества
    MySet & operator *= (MySet& b); // сформировать пересечение множеств
 
    //MySet & operator + (MySet& b);    // добавить элементы из второго множества
    //MySet & operator - (MySet& b);    // удалить элементы второго множества
    //MySet & operator * (MySet& b);    // сформировать пересечение множеств
 
    //MySet operator + (const MySet&) const ;   // сложить элементы из множеств
    //friend MySet operator + (const MySet&, const MySet&); // сложить элементы из множеств
};
 
nt main(array<System::String ^> ^args)
int main(void)
{
int c;
int e, p;
    setlocale(LC_ALL, "russian");
    MySet a, b, d;  
 
    while ((c=_getch()) != ' ') // exit
    {
        switch (c) {
         case 's': // show - показать множество 1
         case 'S': 
            _putch(c);
            a.show();
             std::cout << a;
            break;
         case 'w': // show - показать множество 2
         case 'W': 
            _putch(c);
            b.show();
             std::cout << b;
            break;
         case 'z': // добавить элементы в множество (руками), но без подсказок
         case 'Z': 
            _putch(c);
            std::cin >> a;
            std::cout << a;
            a.show();
            break;
         case 'a': // add - добавить элементы в множество (руками) с подсказками
         case 'A': 
            a.get();
            a.show();
            break;
         case 'b': // сформировать второе множество - добавить элементы в множество 2 (руками)
         case 'B': 
            b.get();
            b.show();
            break;
         case 'x': // добавить элементы в множество (руками), но без подсказок
         case 'X': 
            std::cin >> b;
            std::cout << b;
            b.show();
            break;
         case 'c': // очистить второе множество
         case 'C': 
            _putch(c);
            b.Clean();
            b.show();
            break;
         case 'd': // копирование
         case 'D': 
            _putch(c);
            a=b;
            a.show();
            break;
 case '+': // добавить второе множество в первое
        _putch(c);
            a.Add(b);
            a.show();
            break;
         case '+': // добавить второе множество в первое
            _putch(c);
            a+=b;
            a.show();
            d=a;
            d+=b;
            d=a.operator +(b);
            d=a+b;
            d.show();
            break;
         case '-': // вычесть второе множество из первого
            _putch(c);
        a.Sub(b);
        a.show();
            break;
         case '-': // вычесть второе множество из первого
            _putch(c);
            a-=b;
            a.show();
            d=a;
            d-=b;
            d.show();
            break;
     case '*': // пересечение первого и второго множеств
            _putch(c);
            a.Intersect(b);
            a.show();
            break;
         case '*': // пересечение первого и второго множеств
            _putch(c);
            a*=b;
            a.show();
            d=a;
            d*=b;
            d.show();
            break;
         case 'p': // pos - проверить, есть ли элемент в множестве
         case 'P':
            printf("Введите элемент\n");
            scanf_s("%d",&e);
            if ((p=a.PosInSet(e))>=0)
                printf ("Элемент %d находится в позиции %d\n", e, p);
            else
                printf ("Элемента %d в множестве нет\n", e);
            break;
 
         case '/': // добавить второе множество в первое
            _putch(c);
            d=a+b;
            a.show();
            b.show();
            d.show();
            break;
 
        }
    }
    _getch();
    return 0;
}
Вложения
Тип файла: txt Manual.txt (613 байт, 8 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 22:40     Объединить в один код
Посмотрите здесь:

объединить три 2-мерных массива в один 3-мерный массив C++
C++ Как можно объединить несколько скриптов в один?
C++ Объединить два бинарных файла в один
C++ Заданы два массива F(36) и S(36). Объединить их в один следующим образом
C++ Объединить 2 массива в один, в котором все числа идут по убыванию
C++ Объединить два упорядоченных по возрастанию массива в один. Нужны комментарии
Объединить два упорядоченных по неубыванию массива в один C++
C++ Объединить два упорядоченных массива в один
Два двумерных массива объединить в один двумерный C++
Объединить два упорядоченных по возрастанию массива в один C++
C++ Объединить проект в один файл для подключения
Объединить упорядоченныые элементы из двух файлов в один C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
b0n4b
2 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 100
30.05.2012, 23:52  [ТС]     Объединить в один код #2
up up
MrGluck
Ворчун
Эксперт CЭксперт С++
6428 / 3626 / 450
Регистрация: 29.11.2010
Сообщений: 9,587
30.05.2012, 23:54     Объединить в один код #3
Смысл объединения?
Давай угадаю: вы нагуглили задачку, а теперь хотите её под себя приспособить. Так знайте, что использовать раздельное объявление и реализацию - хороший тон. А теперь представьте, вы изменяете маленький кусочек, а перекомпилируете всю программу. Даже в 1000 строчках это ощутимо. А вы все лепите в одну кучу. Учитесь работать с проектами.
b0n4b
2 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 100
31.05.2012, 00:04  [ТС]     Объединить в один код #4
MrGluck, нет, вы не угадали. Мне нужно всё в одном коде
Yandex
Объявления
31.05.2012, 00:04     Объединить в один код
Ответ Создать тему
Опции темы

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