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

Создание Очереди - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.74
kolid
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 12
30.06.2012, 23:48     Создание Очереди #1
Приветствую,помогите создать Прогу в Делфи или С++
Разработать программу,позваляющую формировать динамическую структуру данных Очередь. Реализовать функцию добовления элементов очереди.Реализовать функцию удаления из очереди.Реализавать функцию вывода содержимого очереди.

Добавлено через 8 минут
За рание СПАСИБО!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Leomana
58 / 58 / 5
Регистрация: 29.06.2012
Сообщений: 188
30.06.2012, 23:53     Создание Очереди #2
неужели так сложно воспользоваться поиском гугл яндекс.. такого же в инете до кучи
Zuzik
 Аватар для Zuzik
219 / 204 / 34
Регистрация: 11.06.2012
Сообщений: 1,336
30.06.2012, 23:54     Создание Очереди #3
мой тебе совет - разберись что такое очередь и попробуй реализовать это сам. В википедии насколько я помню об этом хорошо написано. Если не представляешь как это сделать - попробуй нарисовать.
Catstail
Модератор
 Аватар для Catstail
21501 / 10254 / 1670
Регистрация: 12.02.2012
Сообщений: 17,139
01.07.2012, 08:55     Создание Очереди #4
Пойдет?

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
#include "iostream.h"
 
class Queue
{
private:
    
        int *Arr;
        int Size;
        int ptr;
 
public:
        Queue()
        {
            int i;
            Size=1000;
            Arr=new int[Size];
            for (i=0; i < Size; i++) Arr[i]=0;
            ptr=0;
        }
 
        Queue(int Sz)
        {
            int i;
            if (Sz <= 0) Sz=1000;
            Size=Sz;
            Arr=new int[Size];
            for (i=0; i < Size; i++) Arr[i]=0;
            ptr=0;
        }
 
        ~Queue()
        {
            delete [] Arr;
        }
 
        int isEmpty()
        {
            if (ptr == 0)
                return -1;
            else
                return 0;
        }
 
        void Enque(int x)
        {
            if (ptr < Size)
            {
                Arr[ptr++]=x;
            }
        }
 
        int Deque()
        {
            int z,i;
            if (ptr > 0)
            {
                z=Arr[0];
                for (i=1; i <= (ptr-1); i++) Arr[i-1]=Arr[i];
                ptr--;
                return z;
            }
 
            return -1;
        }
        void Show()
        {
           for (int i=0; i < ptr; i++)
               cout << Arr[i] << endl;
        }
 
};
 
int main(int argc, char* argv[])
{
 
    Queue Q;
 
    int n;
 
    while (1)
    {
        cout << "Enter number (0-end): ";
        cin >> n;
        if (n == 0) break;
        Q.Enque(n);
    }
 
    cout << endl << "Que:" << endl << endl;
    
    Q.Show();     
    
    return 0;
 
}
Код рабочий, но есть одна тонкость, связанная с методами EnQue и DeQue. Сам подумай...
Миниатюры
Создание Очереди  
kolid
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 12
01.07.2012, 10:10  [ТС]     Создание Очереди #5
Catstail, Приветствую вас еще раз,а не могли бы вы создать Очередь в консольном варианте?
Catstail
Модератор
 Аватар для Catstail
21501 / 10254 / 1670
Регистрация: 12.02.2012
Сообщений: 17,139
01.07.2012, 10:14     Создание Очереди #6
Дык... Это и есть консольный вариант. См. картинку.
kolid
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 12
01.07.2012, 10:41  [ТС]     Создание Очереди #7
ЭЭЭм тоесть в Визуальном...

Добавлено через 14 минут
Выдает ошибку: [C++ Error] Unit1.cpp(89): E2171 Body has already been defined for function 'main(int,char * *)' - это наверно я Олень да?)
Catstail
Модератор
 Аватар для Catstail
21501 / 10254 / 1670
Регистрация: 12.02.2012
Сообщений: 17,139
01.07.2012, 21:08     Создание Очереди #8
Судя по сообщению, у тебя оказалось две функции main.
Catstail
Модератор
 Аватар для Catstail
21501 / 10254 / 1670
Регистрация: 12.02.2012
Сообщений: 17,139
01.07.2012, 21:26     Создание Очереди #9
Вот полный код из Dot.Net (правда, он у меня старенький, 2001-й...):

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
// This is the main project file for VC++ application project 
// generated using an Application Wizard.
 
#include "stdafx.h"
#include "iostream.h"
 
#using <mscorlib.dll>
#include <tchar.h>
 
using namespace System;
 
class Queue
{
 
private:
    
        int *Arr;
        int Size;
        int ptr;
 
public:
        Queue()
        {
            int i;
            Size=1000;
            Arr=new int[Size];
            for (i=0; i < Size; i++) Arr[i]=0;
            ptr=0;
        }
 
        Queue(int Sz)
        {
            int i;
            if (Sz <= 0) Sz=1000;
            Size=Sz;
            Arr=new int[Size];
            for (i=0; i < Size; i++) Arr[i]=0;
            ptr=0;
        }
 
        ~Queue()
        {
            delete [] Arr;
        }
 
        int isEmpty()
        {
            if (ptr == 0)
                return -1;
            else
                return 0;
        }
 
        void Enque(int x)
        {
            if (ptr < Size)
            {
                Arr[ptr++]=x;
            }
        }
 
        int Deque()
        {
            int z,i;
            if (ptr > 0)
            {
                z=Arr[0];
                for (i=1; i <= (ptr-1); i++) Arr[i-1]=Arr[i];
                ptr--;
                return z;
            }
 
            return -1;
        }
        void Show()
        {
           for (int i=0; i < ptr; i++)
               cout << Arr[i] << endl;
        }
 
};
 
// This is the entry point for this application
 
int _tmain(void)
{
    Queue Q;
 
    int n;
 
    while (1)
    {
        cout << "Enter number (0-end): ";
        cin >> n;
        if (n == 0) break;
        Q.Enque(n);
    }
 
    cout << endl << "Que:" << endl << endl;
    
    Q.Show();
 
    cin >> n;
 
    return 0;
}
Миниатюры
Создание Очереди  
kolid
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 12
01.07.2012, 21:51  [ТС]     Создание Очереди #10
вы не могли бы скинуть программу файлом?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2012, 21:55     Создание Очереди
Еще ссылки по теме:

C++ править код (создание очереди и удаление элемента очереди по усмотрению пользователя)
C++ Создание класса очереди
C++ Создание очереди чисел (умножение элементов, добавление и удаление, проверка значений)

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

Или воспользуйтесь поиском по форуму:
Catstail
Модератор
 Аватар для Catstail
21501 / 10254 / 1670
Регистрация: 12.02.2012
Сообщений: 17,139
01.07.2012, 21:55     Создание Очереди #11
Выкладываю весь проект...
Вложения
Тип файла: zip que2.zip (572.7 Кб, 22 просмотров)
Yandex
Объявления
01.07.2012, 21:55     Создание Очереди
Ответ Создать тему
Опции темы

Текущее время: 01:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru