Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 30.05.2009, 02:10   #1 (permalink)
Юлькин
Новичок
 
Регистрация: 12.04.2009
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Unhappy Очередь на С

Доброй ночи! Написала программу, но почему то 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;
}
Юлькин вне форума   Ответить с цитированием

Старый 30.05.2009, 02:10
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Давайте я вам помогу найти схожие с вашей темы

Очередь, реализованная с помощью массива
Что в первую очередь апгрейдить?
Вы пришли на работу, что сделаете в первую очередь?

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 00:18.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.