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

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

Войти
Регистрация
Восстановить пароль
 
lolopolosko
1354 / 312 / 5
Регистрация: 21.11.2009
Сообщений: 992
#1

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

07.12.2009, 21:45. Просмотров 454. Ответов 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
#include<iostream>
#define n 10
using namespace std;
 
template <class T>
const T search(T* s)
{
    T* tmp = s;
    for(int i=0;i<n;i++)
        if(s[i] < *tmp){*tmp = i;}
return *tmp;
}
void Enter(int s[])
{
    
    cout<<"Vvedit dodatni elementu masuvy";
    for(int i=0;i<n;i++)
    {
start:
        cin>>s[i];
    if(s[i]<0){cout<<"Warning!!!This Element is not >0"<<"\n"<<"Please Enter >0 Element:"<<endl;goto start;}
    }
}
 
int main()
{
    int s[n];
    Enter(s);
    cout<<"Porad nomer naimenshogo dodatnogo elementa ="<<search(s)<<endl;
    system("pause");
    return 0;
}
И еще !!!Если кто может то плиз помогите вот с этой задачей!!Тоже по шаблонам!!!

Написать шаблон класса для роботы с линейным списком: 1)Создание списка..2)Розмищение елемента в середину списка..3)Удаления елемента из конца списка..
Предусмотреть обработки двух произвольно выбранных исключений.

если что пишите по кусочку я сам потом склею!!!

Серйозно..Помогите кто может студенту....Завтра сдача задач....К тому же у меня 2 семинара...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2009, 21:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблоны!!!Просьба Бедного Студента!!! (C++):

Структуры и файлы (посчитать средний балл каждого студента и вывести фамилию студента с наибольшим баллом) - C++
У меня есть структура и файл, в котором находятся фамилии и оценки учащихся, как мне посчитать средний балл каждого студента и вывести...

«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». - C++
«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». Есть ли разница в этих понятиях? Если есть, то в чём? И где (в каких...

Шаблоны. Плохо понимаемые моменты из книги "Шаблоны С++. Справочник разработчика". (Вандевурд, Джосаттис) - C++
Так как изучаю эту книгу, то в некоторых местах возникают вопросы. Чтобы не плодить много тем, корни у которых одни, решил создать эту...

Помогите писать на С++ через шаблоны. Консуле я писал, но надо писать исползуя шаблоны - C++
В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) количество элементов массива, равных 0; 2) сумму элементов...

Просьба - C++
Помогите, пожалуйста, в создании приложения. Уровень знания языков программирования ближе к 0. Суть приложения такова: при запуске...

Просьба с компиляцией - C++
Сегодня что то случилось с компиляторами на 2 разных запускал толку... Ошыбка: error: stray '\179' in program Просьба запустить код...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
07.12.2009, 21:49 #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
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
Так?
lolopolosko
1354 / 312 / 5
Регистрация: 21.11.2009
Сообщений: 992
07.12.2009, 23:47  [ТС] #3
Ща попробую!!

Добавлено через 2 минуты
не могу скомпилировать так ка Не удается открыть файл include: ListNode.h: No such file or directory

можно узнать адрес откуда это???

Добавлено через 15 минут
кто есть на форуме!!!помогите!!!!Хотябы посмотрите в чем ошибка програмы!!

Добавлено через 1 час 36 минут
Sekt, не помогло но спасибо!
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
08.12.2009, 12:40 #4
listnode.h ето просто header со структурой
C++
1
2
3
4
5
6
7
8
9
#ifndef _LISTNODE_H
#define _LISTNODE_H
template <class NODETYPE1>
struct ListNode
{
  NODETYPE1 conteyner;
  ListNode *Next;
};
#endif _LISTNODE_H
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2009, 12:40
Привет! Вот еще темы с ответами:

Глупая просьба... - C++
Нужна блок-схема приведенного ниже кода. Кто сделает - подгоню семизнак! #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #define...

просьба объяснить - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { long a, b; char s, c; int i; ...

Просьба к администрации - C++
Я видел есть тема о основных сортировках.это хорошая очень нужная тема.многим я уверен она помогла. Но вот прошу сделать такую же тему...

Просьба откомпилировать файл - C++
Добрый день господа. Ребята хочу обратиться за помощью. Компельните файл, очень надо не особо разбираюсь. ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.12.2009, 12:40
Ответ Создать тему
Опции темы

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