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

шаблоны в си++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ playsound(), как сделать фоновую музыку в игре http://www.cyberforum.ru/cpp-beginners/thread233180.html
Есть игра. Есть звуки с использованием Beep()/ Нужна фоновая музыка. Читал что нашел - предлагают создать параллельный поток. Для меня это сложно. Объясните пожалуйста или предложите другой вариант. Добавлено через 39 минут Помогите!!:wall: Добавлено через 11 минут вот такая вот игра #include <iostream.h> #include <conio.h> #include <windows.h>
C++ нужно составить программы к данным заданиям! 1.Написать программу вычисления суммы кубов чисел от 25 до 55. 2.Написать программу поиска среди двузначных чисел таких, сумма квадратов цифр которых делится на 13. 3.Даны натуральное число n, действительное число а. Выдать на экран последовательность чисел: а, а+1, а+2, а+3, ... , а+n. 4.Дано натуральное число n и действительное число х. Вычислить sin(x) + sin2(x) + ... + sinn(x). http://www.cyberforum.ru/cpp-beginners/thread233171.html
Применение Динамического выделения памяти C++
Надо решить задачу написав функцию. Нужно выделить память использую malloc. Помогите Плиз..! Заранее Спасибо)) Дана матрица размера M × N. Для каждой строки матрицы с нечет-ным номером (1, 3, …) найти среднее арифметическое ее элементов. Ус-ловный оператор не использовать.
Реализация функции srcat. C++
Я написал (реализовал) функцию strcat. Вот ... #include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; int _tmain(int argc, _TCHAR* argv) {
C++ Поменять местами первый и последний элементы списка и удалить их средне арифметическое http://www.cyberforum.ru/cpp-beginners/thread233152.html
Помогите решить задачи пожалуйста!!! 1)Дан список, содержащие числовые данные. Поменять местами первый и последний элементы и удалить из списка их средне арифметическое (если такой элемент есть в списке) 2) Сформировать матрицу В(m, n), элементами которой являются случайные числа, равномерно распределенные в интервале . Переставляя ее строки и столбцы, добиться того, чтобы наибольший элемент...
C++ Массивы Привет! Помогите, плиз решить, я в этом почти не шарю,: В одномерном массиве из 25 вещественных чисел вычислить среднее арифметическое положительных чисел. Преобразовать исходный массив, вычитая из каждого элемента среднее значение. Мне нужна ток блок схема!)) подробнее

Показать сообщение отдельно
romambrb
Сообщений: n/a
23.01.2011, 21:57     шаблоны в си++
кто может сказать где прблема?

List.h
#ifndef LIST_H
#define LIST_H

#include<iostream>
#include<ostream>
#include<istream>
#include<ostream>
#include<string>
#include<fstream>
#include<list>

using namespace std;


template <class TData>
class List
{
class Node
{
public:
TData d;
Node *next, *prev;
Node(TData dat = NULL){d = dat; next = NULL; prev = NULL;}
};//end class Node
Node *pbeg, *pend;
public:

List(){pbeg = NULL; pend = NULL;}
~List();
void add(TData d);
Node * find(TData d);
Node * insert(TData key, TData d);
bool remove(TData key);
void print();
void print_back();
};//end class List

#endif //LIST_H

List.cpp
#include"list.h"



template <class TData> List <TData>::~List()
{
if (pbeg !=0)
{
Node *pv = pbeg;
while (pv)
{
pv = pv->next;
delete pbeg;
pbeg = pv;
}
}
}
//-------------------------
template <class TData> void List <TData>:rint()
{
Node *pv = pbeg;
cout << endl << "list: ";
while (pv)
{
cout << pv->d << ' ';
pv = pv->next;
}
cout << endl;
}
//-------------------------
template <class TData> void List <TData>:rint_back()
{
Node *pv = pend;
cout << endl << " list back: ";
while (pv)
{
cout << pv->d << ' ';
pv = pv->prev;
}
cout << endl;
}

//-------------------------
template <class TData> void List <TData>::add(TData d)
{
Node *pv = new Node(d);
if (pbeg == NULL)
pbeg = pend = pv;
else
{
pv->prev = pend;
pend->next = pv;
pend = pv;
}
}
//-------------------------

template <class TData> Node * List <TData>::find( TData d)
{
Node *pv = pbeg;
while (pv)
{
if(pv->d == d)break;
pv = pv->next;
}
return pv;
}

//-------------------------

template <class TData> Node * List <TData>::insert(TData key, TData d)
{
if(Node *pkey = find(key))
{
Node *pv = new Node(d);
pv->next = pkey->next;
pv->prev = pkey;
pkey->next = pv;
if( pkey != pend)(pv->next)->prev = pv;
else pend = pv;
return pv;
}
return 0;
}

//-------------------------
template <class TData> bool List <TData>::remove(TData key)
{
if(Node *pkey = find(key))
{
if (pkey == pbeg)
{
pbeg = pbeg->next; pbeg->prev = 0;
}
else if (pkey == pend)
{
pend = pend->prev; pend->next = 0;
}
else
{
(pkey->prev)->next = pkey->next;
(pkey->next)->prev = pkey->prev;
}
delete pkey; return true;
}
return false;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru