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

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

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

Очередь С++ (очень надо) - C++

21.12.2011, 17:24. Просмотров 360. Ответов 0
Метки нет (Все метки)

Смоделировать очередь, в которой реализован такой механизм изъятия элемента из очереди: начало очереди всегда находится в первом элементе массива; при изъятии одного элемента из очереди, все остальные элементы перемещаются на одну позицию ближе к началу массива. После обработки всей заданной входной последовательности найти среднее арифметическое всех элементов очереди.

есть прога очень похожая:

Смоделировать очередь, в которой к описанию очереди добавлена ​​функция wipe_out, которая изымает все элементы из очереди. Каждый раз, когда во входной последовательности встречается число 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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
const int M = 100;
#pragma once
#include <cassert>
#include "q.h"
#include <stdio.h>
#include <tchar.h>
#include <iostream>
 
 
// q.h
template <class Item>
class queue
{
private:
    Item INFO[M];
    int count;
public:
    queue( );
    void pop( );
    void push(const Item& entry);
    bool empty( ) const { return (count == 0); }
    Item front( ) const;
    int size( ) const { return count; }
    void show();
    void muve();
    bool full(){return (INFO[M-1] == M-1);};
    void wipe_out();
    bool same();
    
};
template <class Item>
queue<Item>::queue( )
{
      count = 0;
      INFO[0] = 1;
      INFO[M-1] = 0;
}
template <class Item>
Item queue<Item>::front( ) const
{
    assert(!empty( ));
    return INFO[1];
}
template <class Item>
void queue<Item>::pop( )
{
        muve();
        count--;
}
template <class Item>
void queue<Item>::push(const Item& entry)
{
    assert(!(count > M - 1));
    ++count;
    INFO[++INFO[M-1]] = entry;
}
template <class Item>
void queue<Item>::show()
{
    std::cout << "QUENE:    ";
    for(int i = INFO[0]; i < INFO[M-1]+1; i++){ 
        std::cout << INFO[i] << "   " ;
    }
    std::cout << std::endl;
}
template <class Item>
void queue<Item>::muve()
{
    for(int i = INFO[0]; i < INFO[M-1]; i++){
        INFO[i] = INFO[i+1];
    }
    --INFO[M-1];
}
template <class Item>
void queue<Item>::wipe_out()
{
    for (int i=0; i<count; i++)
    {
        muve();
    }
    count = 0;
}
template <class Item>
bool queue<Item>::same()
{
    bool b = false;
    for (int i=0; i<count-1; i++)
        if (INFO[i]==INFO[i+1]) { b = true; } 
    return b;
}
 
 
//main.cpp
#include "stdafx.h"
using namespace std;
 
int main()
{
    queue<int> q;
    int v[M], m;
    int k = 0;
 
    cout << "ENTER VALUE OF QUEUE TO CONTINUE OR TEXT TO EXIT..." << std::endl;
    while(cin >> v[k++]) {  m = k; }
 
    q.show();
    for(k = 0; k < m; k++)
    {
        if (v[k]==0) { q.wipe_out(); q.show(); }
        if (v[k]>0) { q.push(v[k]); q.show(); }
        if (v[k]<0) { q.pop(); q.show(); }
    }
    cout << "\nSIZE:    " << q.size() << endl;
    cout << "EMPTY: " << boolalpha << q.empty() << endl;
    cout << "FULL:  " << boolalpha << q.full()  << endl;
    cout << "FRONT: " << q.front() << endl;
    cout << "THE SAME ELEMENTS IN QUEUE:    " << q.same() << endl;
    cin.get();
    
    return 0;
}
пожалуйтса очень надо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2011, 17:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Очередь С++ (очень надо) (C++):

очень ..НАдо... - C++
нужно этот код записать на паскале #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; bool simple(int x) { for...

очень надо! - C++
#include &lt;iomanip&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;string&gt; #include &lt;istream&gt; using...

Очень сильно надо - C++
Пожалуйста помогите, очень сильно надо. Дано натуральное число n. Получить действительную матрицу , ,ij=1,2…..n для которой aij=система...

Рекурсивная функция... Очень надо... - C++
Народ помогите плиз. Нужно написать рекурсивную функцию перевода из 16 сс в 10 сс....Заранее спасибо

Строки в файле.Очень надо! - C++
Прошу помощи!!! Есть файл в нем 10 строк,нужно поочередно записать каждую строку в str, вроде как нужно это делать в цикле(но там...

3 разных, простых заданий. очень надо. - C++
1.Определить можно ли с данным числам а и б числами, решить неравенство а(х*х)&lt;б. ( нужно рассмотреть все возможные варианты) 2.В...

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

Очень надо понять: в проге 15 делиться на 4 и выходит 3. - C++
Доброго времени суток всем. Нарисовалась такая проблема, есть код который работает с ошибками. Огромная просьба указать на ошибки если...

Задача про этажи и время. Очень надо, но не понятно( - C++
Помогите пожалуйста написать код с++. Пользователь вводит номер этажа, а программа выводит время подъема человека. Сказано что на 1...

Создать очередь из файла, совершение операций надо очередью(удаление элемента, добавление, запись в файл, вывод) - C++
Друзья, завтра сдать курсач, неделю парился с кодом. В итоге ничего дельного не вышло. Обращаюсь к вам, умельцы, за скорой помощью. Итак...

вот мое задание. Можете с ним помо*ь? Очень надо - C++
В целочисленном массиве, сгенерированном случайным образом, найти наименьший из положительных элементов.


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

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

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