Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2013, 03:34   #1
x93xxx93x
 
Регистрация: 06.12.2012
Сообщений: 3
По умолчанию Шблоны класовпо Си/С++

В универе дали задачку: Создать шаблон класса «очередь». Написать программу, демонстрирующую работу с этим шаблоном для различных типов параметров шаблона. Программа должна содержать меню, позволяющее осуществить проверку всех методов шаблона.
PS.Я студент мне нужна программа кому несложно напишите ее(((
x93xxx93x вне форума Ответить с цитированием
Старый 07.06.2013, 13:09   #2
revizor
Форумчанин
 
Аватар для revizor
 
Регистрация: 20.01.2013
Сообщений: 146
По умолчанию

что полностью программу написать?
я за 500 р. сделаю
revizor вне форума Ответить с цитированием
Старый 07.06.2013, 15:37   #3
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

примерно следующим образом
Код:
#include <iostream>

using namespace std;

// элемент очереди
struct queue_element1
{
int a;

// вывести элемент
void print()
{
cout << a << "\n";
}

};


struct queue_element2
{
char a;

// вывести элемент
void print()
{
cout << a << "\n";
}

};


// очередь ( на основе односвязного списка )
template<class T, class V>
class queue1
{
public:

// конструктор
queue1()
{
next = NULL;
}

// установить значение элемента
void set_element(V val)
{
element = new T;
element->a = val;
}

// вывести элемент
void print_element()
{
element->print(); //функция вывода должна быть в классе элемента очереди
}

// добавить следующий элемент
void add_next_element(V val)
{
class queue1<T, V> *iter;
class queue1<T, V> *prev;

prev = this;
iter = next;

while (iter != NULL)
{
prev = iter;
iter = iter->next;
}

iter = prev;

iter->next = new queue1(); 
iter->next->element =  new T;
iter->next->element->a = val;

}

// напечатать очередь
void print_queue()
{
class queue1<T, V> *iter;

element->print();

iter = next;
while (iter != NULL)
{
iter->element->print(); 
iter = iter->next;
}

}

// частные данные очереди
private:
T* element;
class queue1<T, V> *next;
};






int main(int argc, char *argv[])
{
int sel = 0;
queue1<struct queue_element1, int>* qw;

while (sel == 0)
{
 int e;
 int en = 0;
 cin >> sel;
 switch (sel)
 {

   case 1:    
    qw = new queue1<struct queue_element1, int>;  
    cin >> e;
    qw->set_element(e);  
    break;
   case 2:
    cin >> e;
    qw->add_next_element(e);
    break;
   case 3:
    qw->print_queue();
    cout << "\n";
    break;
   case 4:
    cin >> e;
    qw->set_element(e);
    cout << "\n";
    break;


   default:
    en = 1;
    break;

 }
 if (en == 0)
  sel = 0;
}

return 0;
}
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 07.06.2013, 16:02   #4
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Что же с тебя вырастет? студент....
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Старый 10.06.2013, 08:35   #5
x93xxx93x
 
Регистрация: 06.12.2012
Сообщений: 3
По умолчанию

Не программист уж точно ((( т.к учусь на бакалавриате, дают информации мало и практики почти нет поэтому решить не могу а самостоятельно обучаться нет времени(((
Спасибо за программу
x93xxx93x вне форума Ответить с цитированием
Старый 10.06.2013, 09:26   #6
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

challengerr
молодец красиво.....
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц