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

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

Войти
Регистрация
Восстановить пароль
 
Elnur94
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 19
#1

Deque тест на работу - C++

27.04.2014, 21:27. Просмотров 184. Ответов 0
Метки нет (Все метки)

нужно сделать тест на работу конструктора копирования, выяснить происходит ли утечка памяти. Можете помочь, как то не получается сделать тест)

#include<iostream>
using namespace std;

class deck
{
int mas_len,l,r,len;
int* mas;
public:
//Љ®*бвагЄв®ал
deck(int a=7)
{
cout<<"ђ*Ў®в*Ґв Є®*бвагЄв®а"<<endl;
if(a<=0) a=10;
mas=new int[a];
mas_len=a;
len=0;
l=a/2; r=a/2+1;
if(r==mas_len) r=0;
}
deck(const deck &a)
{
cout<<"ђ*Ў®в*Ґв Є®*бвагЄв®а Є®ЇЁа®ў**Ёп"<<endl;
int i;
len=a.len; mas_len=a.mas_len; l=a.l; r=a.r;
mas=new int[mas_len];
for(i=0;i<mas_len;i++) mas[i]=a.mas[i];
}
//„ҐбвагЄв®а
~deck()
{
cout<<"ђ*Ў®в*Ґв ¤ҐбвагЄв®а"<<endl;
delete mas;
len=mas_len=l=r=0;
}
//Ћб*®ў*лҐ ¬Ґв®¤л
int put(int num,int ind=0)
{
if(len<mas_len)
{
if(ind==0) //Љ«*¤Ґ¬ б«Ґў*
{
mas[l]=num;
l--; if(l==-1) l=mas_len-1;
}
else //Љ«*¤Ґ¬ бЇа*ў*
{
mas[r]=num;
r++; if(r==mas_len) r=0;
}
len++;
return 0;
}
else return -1;
}
int take(int* num,int ind=1)
{
if(len>0)
{
if(ind==0) //ЃҐаҐ¬ б«Ґў*
{
l++; if(l==mas_len) l=0;
*num=mas[l];
}
else //ЃҐаҐ¬ бЇа*ў*
{
r--; if(r==-1) r=mas_len-1;
*num=mas[r];
}
len--;
show();
return 0;
}
else return -1;
}
void show()
{
int i,j=0;
if(len==0) cout<<"„ҐЄ Їгбв!"<<endl<<"=================================================="<<endl;
else
{
cout<<"„ҐЄ("<<len<<"):"<<endl;
for(i=l;j<len;j++)
{
i++; if(i==mas_len) i=0;
cout<<mas[i]<<" ";

}
cout<<endl<<"=================================================="<<endl;
}
}
void clear()
{
l=r=mas_len/2;
len=0;
}
//ЏҐаҐЈаг§Є* ®ЇҐа*в®а®ў
deck operator =(deck a)
{
cout<<"ђ*Ў®в*Ґв ЇҐаҐЈа㦥**л© ®ЇҐа*в®а ЇаЁбў*Ёў**Ёп"<<endl;
int i;
delete mas; mas=new int[a.mas_len]; mas_len=a.mas_len;
len=a.len; l=a.l; r=a.r;
for(i=0;i<mas_len;i++) mas[i]=a.mas[i];
return *this;
}
deck operator +(deck &a)
{
cout<<"ђ*Ў®в*Ґв ЇҐаҐЈа㦥**л© ®ЇҐа*в®а б«®¦Ґ*Ёп"<<endl;
int n=len+a.len,i,j,k,m;
deck tmp(n);
for(k=1,i=l+1,j=a.l+1;i!=r || j!=a.r;k+=2)
{
for(m=0;m<k;m++)
{
if(i==r) break;
tmp.put(mas[i],1);
i=(i+1)%mas_len;
}
for(m=0;m<k+1;m++)
{
if(j==a.r) break;
tmp.put(a.mas[j],1);
j=(j+1)%a.mas_len;
}
}
return tmp;
}
void operator +=(deck a) {*this=*this+a;}
};

int main(void)
{
//test
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2014, 21:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Deque тест на работу (C++):

STL deque - C++
Устройство, основные операции и их стоимость, особенности использования deque. Ни где не могу найти стоимость выполнения основных...

Контейнер deque - C++
Задание:(используя контейнер deque) ввести последовательность натуральных чисел,у конце которой 0.Не сохраняя всей последовательности в...

deque<float> - C++
Создать контейнер deque и заполнить его типом данных &lt;float&gt;, вывести на экран. Удалив одни элементы и заменив другие вывести на экран...

std::deque - C++
Как известно при добавлении в конец вектора элементов(и не только в конец) может возникнуть перераспределение памяти что переместит данные...

Compair deque - C++
есть два списка. Теперь мне нужно сравнить элементы если х &lt;у то return (x+y) . я так думаю надо результат в 3 список записать как мне...

Контейнер deque <pair> - C++
Есть контейнер deque&lt;pair&lt;int, int&gt;&gt; dq; Делаю вставку dq.push_back(make_pair(100, 100)); dq.push_back(make_pair(80, 80)); ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2014, 21:27
Привет! Вот еще темы с ответами:

STL, deque, pair - C++
Здравствуйте, помогите пожалуйста разобраться. Есть такая очередь: deque&lt;pair&lt;int, timeval&gt; &gt; last_query Как работать с...

deque iterator not dereferencable - C++
итак программа должна считывать из файла данные об автобусных маршрутах (имя водителя, номер маршрута и т.д.). После этого сортировать...

Deque - сравнение элементов - C++
Пусть даны две очереди X и Y, содержащие вещественные числа. Из каждой очереди одновременно извлекается по одному числу x и y...

vector, list, deque - C++
Пытаюсь разобраться, куда лучше какой контейнер применять, под какие задачи. Первый вопрос по списку: Сказано, что список удаляет любой...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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