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

Шаблоны!!!Просьба Бедного Студента!!! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс для работы с файлом. http://www.cyberforum.ru/cpp-beginners/thread71566.html
Есть класс для сортировки файла по номеру телефона. void Job::sort() { for(;;) { ifstream fin; fin.open(filename, ios::in); if(!fin){cout<<Rus("Ошибка открытия файла!");break;}...
C++ Массивы Составить программу, которая получает матрицу целых чисел Х размером n *n и массив целых, размером n. Если в матрице нет строк, равных массиву целых чисел, то программа формирует новую матрицу,... http://www.cyberforum.ru/cpp-beginners/thread71562.html
C++ Игра
Помогите решить следующую задачу: Написать программу, которая отгадывает задуманное число в интервале за n вопросов типа "Ваше число, меньше этого?" Знаю что она решается через рекурсию, но как,...
Наследование C++
Помогите найти ошибку,не выводит на экран данные,Задание: Разработать программу с использованием наследования классов, реализую-щую классы: -----------------------> Рабочий(кем рабоатет,стаж)...
C++ Программа для проведения основных операций над матрицами http://www.cyberforum.ru/cpp-beginners/thread71525.html
Парни привет всем нужна помощь мне задали сделать курсовую на с++ я в нем не шарю теорию я сделал а вот дело дошло до проги я незнаю как написать помогите плиз буду очень признателен. Вот моя...
C++ Функция convert, преобразование между разными системами счислений (язык с) Привет. Если моя задача решалась, то укажите когда и где. Задача следующая: Реализовать фунуцию Convert, которая осуществляет преобразование целого числа, переданного в параметре в виде строки, из... подробнее

Показать сообщение отдельно
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
07.12.2009, 21:49
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
#ifndef _LIST_H
#define _LIST_H
#include "ListNode.h"
 
template <class NODETYPE1>
class Spisok
{    
public:
    Spisok();
    ~Spisok();
    void WriteFromFront(NODETYPE1);
    NODETYPE1 ReadFromPosition(int);
    bool DeleteFromPosition(int);
    int IsEmpty() const; 
    void WriteFromEnd(const NODETYPE1 );
    void print() const;
 
private:
      ListNode<NODETYPE1> *Head;
     ListNode<NODETYPE1> *End;
     ListNode<NODETYPE1>* GetNewPtr(const NODETYPE1 &);
     
};
 
//Проверено
template<class NODETYPE1>
Spisok <NODETYPE1>::Spisok()
{
    Head=NULL;
    End=NULL;
 
}
//Проверено
template<class NODETYPE1>
ListNode<NODETYPE1>* Spisok<NODETYPE1>::GetNewPtr(const NODETYPE1 &data)
{   
    
    ListNode<NODETYPE1> *Ptr=new ListNode<NODETYPE1>;
    Ptr->conteyner=data;
    Ptr->Next=NULL;
    return Ptr;
}
 
//Проверено
template<class NODETYPE1>
void Spisok<NODETYPE1>::WriteFromFront( NODETYPE1  data)
{
    ListNode<NODETYPE1> *NewPtr=GetNewPtr(data);
    if(!IsEmpty())
    {
        Head=End=NewPtr;
    }
    else 
    {
        NewPtr->Next=Head;
        Head=NewPtr;
    }
}
template<class NODETYPE1>
//Проверено
Spisok<NODETYPE1>::~Spisok()
{
    ListNode<NODETYPE1> *curptr=Head,*tempPtr=NULL;
    if(IsEmpty())
    {
    
 
        while(curptr!=NULL)
        {
            tempPtr=curptr;
            curptr=curptr->Next;
            delete tempPtr;
        }
    }
}
 
template<class NODETYPE1>
//Проверено
void Spisok<NODETYPE1>::WriteFromEnd(const NODETYPE1  data)
{
    ListNode<NODETYPE1> *NewPtr=GetNewPtr(data);
    if(!IsEmpty())  Head=End=NewPtr;
    else 
    {
        End->Next=NewPtr;
        End=NewPtr;
    }
}
//Проверено
template<class NODETYPE1>
bool Spisok<NODETYPE1>::DeleteFromPosition(int pos)
{
    int temp=0,temp1=0;
    ListNode<NODETYPE1> *NewPtr=Head;
    ListNode<NODETYPE1> *TempPtr=Head;
    ListNode<NODETYPE1> *TempPtr1=Head;
    ListNode<NODETYPE1> *TempPtr2=Head;
    if(!IsEmpty()) return false;
    else
    {
        while(NewPtr->Next) {temp++;NewPtr=NewPtr->Next;}
        if(temp<pos || pos<0) {cout<<"Удаление невозможно"<<endl;return false;}
        while(temp1!=pos)  {TempPtr=TempPtr->Next;temp1++;}
        if(pos==0) {Head=TempPtr->Next;delete TempPtr;TempPtr=Head;return true;}
        if(TempPtr==End) 
        {
            while(TempPtr1->Next!=End) TempPtr1=TempPtr1->Next;
            delete End;
            End=TempPtr1;
            End->Next=NULL;
            return true;
        }
        while(TempPtr2->Next!=TempPtr) TempPtr2=TempPtr2->Next;
        TempPtr2->Next=TempPtr->Next;
        delete TempPtr;
        return true;
 
    }
}
//Проверено
template<class NODETYPE1>
NODETYPE1 Spisok<NODETYPE1>::ReadFromPosition(int pos)
{
    int temp=0,temp1=0;
    ListNode<NODETYPE1> *NewPtr=Head;
    ListNode<NODETYPE1> *TempPtr=Head;
    if(!IsEmpty()) return NULL;
    while(NewPtr) {temp++;NewPtr=NewPtr->Next;}
    if(pos>temp || pos<0) return NULL;
    if(pos==0) return Head->conteyner;
     pos--; 
    while(pos)
    {
        pos--; 
        TempPtr=TempPtr->Next;       
    }
    return TempPtr->conteyner;
}
//Проверено
template<class NODETYPE1>
int Spisok<NODETYPE1>::IsEmpty() const
{
    if(Head==NULL)
        return 0;
    else return 1;
}
 
//Проверено
template<class NODETYPE1>
void Spisok<NODETYPE1>::print() const
{
    ListNode<NODETYPE1> *TempPtr=Head;  
    while(TempPtr)
    {       
        cout<<TempPtr->conteyner
            <<endl;
        TempPtr=TempPtr->Next; 
    }
}
 
#endif _LIST_H
Так?
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru