Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: Dolly   (30.05.2009 в 01:16)
Доброй ночи!Написала программу, но почему то print и contains не работает! помогите, пожалуйста, разобраться или наведите на путь истинный!!!

#include <iostream>
#include <cassert>

class Queue;

typedef int T;

const int S=50;

class Queue
{
private:
int first;
int size;
T data[S];
public:
Queue()
{
first;
size=0;
}
~Queue() {}

bool isEmpty()
{
return size==0;
}

int count()
{
return size;
}

bool push(T t)
{
// std::cout<<"Yahoo"<<"\n";
if(size==S) return false;
else{
data[(first+size++)%S]=t;
return true;
}
}

bool pop()
{
if(!size) return false;
else{
first++;
first%=S;
size--;
return true;
}

}

T top()
{

if(size) return data[first];
}

bool contains(T t)
{
//std::cout<<"Yahoo"<<"\n";
for(int i=0; i<size; i++)
{
//std::cout<<"Yahoo"<<"\n";
//std::cout<<data[2]<<"\n";
if(data[i]==t) return true;
return true;
}
return false;
}

void print()
{
for(int i=0; i<size; i++)
{
std::cout<<data[i]<<"\n";
}
}

void bubblesort()
{
int i;
int j;
int tmp;

for(i = 0; i <= size-1; i++)
{
for(j = 0; j <= size-2-i; j++)
{
if( data[j]>data[j+1] )
{
tmp = data[j];
data[j] = data[j+1];
data[j+1] = tmp;
}
}
}
}


};

int main()
{
Queue q;
assert(q.isEmpty()==true);
assert(q.push(12)==true);
assert(q.push(13)==true);
assert(q.count()==2);
assert(q.isEmpty()==false);
assert(q.pop()==true);
assert(q.isEmpty()==false);
assert(q.count()==1);
assert(q.contains(13)==true);
q.bubblesort();
q.print();
return 0;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: