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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.95
Daria
Сообщений: n/a
#1

Реализовать АТД Очередь с помощью массива - C++

28.10.2008, 13:55. Просмотров 2285. Ответов 0
Метки нет (Все метки)

Всем привет!
у меня есть некоторые зарисовки, но никак не могу привести программу к концу.
Задание:
Реализовать АТД Очередь с помощью массива;
Используя эту реализацию, написать функцию,
которая за один проход по заданному целочисленному массиву
выводит на печать его элементы в следующем порядке: сначала все четные, потом – нечетные.
кусочек программы который у меня есть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <cstdlib>
#include <cstdio>
#include <iostream.h>
#include <windows.h>
 
 
 
template <class X>
class queue
{
 
    X *data;
    int size;
    int first;
    int free;
    
 
public:
    queue (int sz=100)
    {
 
        size=sz;
        data=new X [size];
        free=0;
        first=free-0;
    }
    ~queue () {     delete [] data; }
    bool empty()
    {
        
        return first==free;
    }
    int & front()
    {
        return data [first];
    }
    void equeue (X x)
    { 
        data [free]=x;
        free++;
        if(free==size)
            free=0;
    }
    void dequeue()
    {
        first++;
        if (first==size)
            first=0;
    }
    //X qretrieve();
};
 
 
void printq  ( queue <int> & Q)
{
        while (!Q.empty () )
        {   
            cout << Q.front ();
            Q.dequeue ();
        }
        cout << endl;
}
void split ()
{
        queue <int> Q,R;
        int x;
        cin >> x;
        while ( x!=0 )
        {
            if ( x>0 && x%2==1 )
                Q.equeue (x);
            else if (x>0 && x%2==0)
                R.equeue (x);
            else if (x==-1)
                printq (Q);
            else if (x==-2)
                printq(R);
            else cout<<"invalid comand";
            cin >> x;
        }
}
 
int main(int argc, char* argv[])
{
    printf("Hello World!\n");
 
    //cout<<"Vvedyte spisok";
 
    queue<int>  a(5), b(5);
 
    a.equeue(5);
    a.equeue(2);
    b.equeue(1);
    b.equeue(4);
 
     
     
    printq(a);
     printq(b);
     printq(a);
     printq(b);
        
    
    
    return 0;
}
Помогите, пожалуйста!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2008, 13:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализовать АТД Очередь с помощью массива (C++):

Добавьте к АТД «очередь» функцию first - C++
Добавьте к АТД «очередь» функцию first, что получает первый элемент очереди, не удаляя его, и реализуйте ее аналогично функции del. В...

Реализовать с использованием массива очередь - C++
13.первое задание 1) Сформировать одномерный массив целых чисел, используя датчик случайных чисел. 2) Распечатать полученный массив. ...

Реализовать стек с помощью массива - C++
Попытался реализовать стек с помощью массива. Но почему то ничего не происходит, так же попробовал пользоваться template&lt;typename T&gt;,...

Реализовать структуру для хранения массива произвольного типа с помощью шаблонов - C++
Помогите пожалуйста, как реализовать структуру?? Сегодня вам нужно реализовать структуру для хранения массива произвольного типа с ...

Согласно заданию реализовать класс абстрактного типа данных (далее АТД) как динамический массив. Для этого определение класса должно иметь следующие - C++
1. Согласно заданию реализовать класс абстрактного типа данных (далее АТД) как динамический массив. Для этого определение класса должно...

Смоделировать очередь с помощью масива - C++
Задачи: 1)Реализовать стек, в описании которого добавлено две переменные EMPTY и FULL вместо функций empty() и full() соответственно....

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2008, 13:55
Привет! Вот еще темы с ответами:

Реализовать очередь - C++
класс figure #pragma once class figure { public: figure(void); virtual ~figure(void); //figure * adr; figure* prev;

Реализовать очередь - C++
Очередь - это устройство для хранения данных, похожее на стек. Отличие в том, что в стеке последний сохраненный элемент будет первым...

Реализовать очередь на массиве - C++
Начал знакомиться с очередью, хотелось бы увидеть пример реализации ее на массиве и без классов пожалуйста, их еще не проходил:) И если...

Реализовать добавление элементов в очередь - C++
Помогите сделать,кто знает: Создать очередь случайных чисел. Реализовать добавление элементов в очередь, затем вывод очереди и удаление...


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

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

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