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

Списки в С++ - C++

Восстановить пароль Регистрация
 
zoluxa
1 / 1 / 0
Регистрация: 13.12.2009
Сообщений: 18
29.03.2010, 22:22     Списки в С++ #1
С(40) Создать класс в котором нужно подсчитать минимальный елемент массива С і его номер. Заранее благодарю!!! вот я накинул, но она не работает видает не понятную ошыбку. Помогите пожайлуста))

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
#include <iostream.h>
struct TList{int Data; TList *Prev,*Next;}*begin=NULL,*end=NULL,*cur=NULL;
 
void inn(int n[i])
{
TList *tmp=new TList(); 
tmp->Data=n[40]; 
if(cur==NULL)
{
             tmp->Prev=tmp->Next=NULL; 
             begin=end=cur=tmp;
}
else
{
    tmp->Next=cur->Next; 
    tmp->Prev=cur; 
    cur->Next=tmp; 
    cur=tmp; 
    if(cur->Next==NULL)
    end=cur;
}
}
 
void inp(int n[40])
{
TList *tmp=new TList(); 
tmp->Data=n[40]; 
if(cur==NULL)
{
             tmp->Prev=tmp->Next=NULL; 
             begin=end=cur=tmp;
}
else
{
    tmp->Next=cur; 
    tmp->Prev=cur->Prev; 
    cur->Prev=tmp; 
    cur=tmp; 
    if(cur->Prev==NULL)
    begin=cur;
}
}
 
void delcur()
{
if(cur==NULL)
{
             cout<<"Notzhing to do!"<<endl; 
             return;
}
if(cur==begin&&cur==end)
{
                        delete cur; 
                        begin=end=cur=NULL; 
                        return;
} 
if(cur!=begin)
cur->Prev->Next=cur->Next; 
else begin=cur->Next; 
if(cur!=end)
cur->Next->Prev=cur->Prev; 
else end=cur->Prev;  
delete cur; 
cur=begin; 
}
 
void listn()
{
     for(cur=begin;cur!=end->Next;cur=cur->Next)
     cout<<cur->Data<<endl;
}
 
void listp()
{
     for(cur=end;cur!=begin->Prev;cur=cur->Prev)
     cout<<cur->Data<<endl;
}  
     
int main()
{
int n[40],i; 
 
 
for(int i=1;i<=41;i++)
{
        cout<<"masuv:"<<n[i]<<"\n";
        
        
        inn(n[i]);
}
cout<<"\n"<<i<<"  "; 
cout<<endl; 
listn(); 
cout<<endl; 
cur=begin->Next; 
delcur(); 
listp(); 
getchar(); 
getchar(); 
system("PAUSE");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2010, 22:22     Списки в С++
Посмотрите здесь:

C++ C++ списки
C++ Списки в С++
C++ списки
С++ списки C++
C++ Списки
Списки в c++ C++
Списки, как склеить списки между собой? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
30.03.2010, 05:01     Списки в С++ #2
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
#include <iostream.h>
 
struct TList{
    int Data;
    TList *Prev, *Next;
}*begin = NULL, *end = NULL, *cur = NULL;
 
void inn(int i)
{
    int n[40];
    TList *tmp = new TList();
    tmp->Data = n[i];
 
    if(cur == NULL)
    {
        tmp->Prev = tmp->Next = NULL;
        begin = end = cur = tmp;
    }
 
    else
    {
        tmp->Next = cur->Next;
        tmp->Prev = cur;
        cur->Next = tmp;
        cur = tmp;
        if(cur->Next == NULL)
            end = cur;
    }
}
 
void inp(int i)
{
    int n[40];
    TList *tmp = new TList();
    tmp->Data = n[i];
 
    if(cur == NULL)
    {
        tmp->Prev = tmp->Next = NULL;
        begin = end = cur = tmp;
    }
 
    else
    {
        tmp->Next = cur;
        tmp->Prev = cur->Prev;
        cur->Prev = tmp;
        cur = tmp;
        if(cur->Prev == NULL)
            begin = cur;
    }
}
 
void delcur()
{
    if(cur == NULL)
    {
        cout << "Nothing to do!" << endl;
        return;
    }
 
    if(cur == begin && cur == end)
    {
        delete cur;
        begin = end = cur = NULL;
        return;
    }
 
    if(cur != begin)
        cur->Prev->Next = cur->Next;
 
    else begin = cur->Next;
 
    if(cur != end)
        cur->Next->Prev=cur->Prev;
 
    else end = cur->Prev;
 
    delete cur;
    cur = begin;
}
 
void listn()
{
    for(cur = begin; cur != end->Next; cur = cur->Next)
        cout << cur->Data << endl;
}
 
void listp()
{
    for(cur = end; cur != begin->Prev; cur = cur->Prev)
        cout << cur->Data << endl;
}
 
int main()
{
    clrscr();
    int n[40], i;
 
    for(i = 1; i < 41; i++)
    {
        cout << "masuv:" << n[i] << "\n";
        inn(n[i]);
    }
    cout << "\n" << i << "  ";
    cout << endl;
    listn();
    cout << endl;
    cur = begin->Next;
    delcur();
    listp();
    system("PAUSE");
    return 0;
}
синтаксически так правильней, еще нужно где-то заполнить массив и насчет задания - нужно эту программу переделать в ооп?
Yandex
Объявления
30.03.2010, 05:01     Списки в С++
Ответ Создать тему
Опции темы

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