Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 5

Определить, в которой из двух очередей больше согласных букв

22.04.2013, 14:39. Показов 1481. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1)Создать две очереди символов. Входная последовательность символов для обеих оче-редей задается пользователем с клавиатуры. Необходимо:
• распечатать обе очереди,
• определить, в которой из двух очередей больше согласных букв,
• построить новую очередь, которая является симметрической разностью двух исходных очередей, и распечатать ее,
• очистить все очереди.

помогите кто могет заранее спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.04.2013, 14:39
Ответы с готовыми решениями:

Определить номер той строки, в которой больше всего согласных букв
Переведите, пожалуйста: Uses CRT; Var f,f2:text; s,s2:string; i,l,n1,n2,n,max,ind,c:integer; begin ...

Определить слова, в которых больше гласных букв, чем согласных
В программировании пока не силен. Не могу решить 3 интересных задачки. Нужна помощь. 1) В предложении, вводимом пользователем с...

Определить, каких букв — гласных или согласных — больше в данном тексте
Дан текст из цифр и строчных латинских букв, за которыми следует точка. Определить, каких букв — гласных или согласных — больше в этом...

4
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
22.04.2013, 19:22
Student_123,

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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#include <iostream>
#include <string>
#include <queue>
#include <algorithm>
#include <iterator>
#include <vector>
 
template<typename T>
std::istream& operator>>(std::istream& ist, std::queue<T>& queue)
{
    T temp;
    typename std::queue<T>::size_type queuesize = 5, i;
    for(i = 0; i < queuesize; ++i)
    {
        std::cout << "Enter the symbol: "; 
            ist >> temp;
        queue.push(temp);
    }
 
    return ist;
}
 
template<typename T>
std::ostream& operator<<(std::ostream& ost, std::queue<T>& queue)
{
    typename std::queue<T>::size_type queuesize = queue.size(), i;
    for(i = 0; i < queuesize; ++i)
    {
        ost << queue.front() << std::endl;
        queue.push(queue.front());
        queue.pop();
    }
 
    return ost;
}
 
int main() 
{ 
    std::string str("bcdfghjklmnpqrstvwxz");
    std::queue<char> coll1, coll2, coll3;
 
    std::cout << "Enter first queue: \n";
    std::cin >> coll1;
 
    std::cout << "\nEnter second queue: \n";
    std::cin >> coll2;
 
    std::cout << "\nFirst queue: \n";
    std::cout << coll1;
 
    std::cout << "\nSecond queue: \n";
    std::cout << coll2;
 
    int count1 = std::count_if(&coll1.front(), &coll1.back() + 1, [str](char n) -> bool
        {
            bool flag(false);
            std::string::size_type i;
            for(i = 0; i < str.size(); ++i){
                if(n == str[i]){
                    flag = true;
                    break;
                }
            }
 
            return flag;
        }),
 
    count2 = std::count_if(&coll2.front(), &coll2.back() + 1, [str](char n) -> bool
        {
            bool flag(false);
            std::string::size_type i;
            for(i = 0; i < str.size(); ++i){
                if(n == str[i]){
                    flag = true;
                    break;
                }
            }
 
            return flag;
        }); 
 
    if(count1 > count2)
        std::cout << "\nIn the first queue is more consonant!\n";
    else
        std::cout << "\nIn the second queue is more consonant!\n";
 
    std::queue<char>::size_type size1(coll1.size()), size2(coll2.size()), i, j;
 
    bool flag;
    for(i = 0; i < size1; ++i){
        flag = true;
        for(j = 0; j < size1 - 1; ++j){
            if(coll1.front() == coll2.front()){
                flag = false;
                break;
            }
 
            coll2.push(coll2.front());
            coll2.pop();
        }
 
        if(flag){
            if(coll1.front() != coll2.front()){
                coll3.push(coll1.front());
            }
 
            coll2.push(coll2.front());
            coll2.pop();
        }
 
        coll1.push(coll1.front());
        coll1.pop();
    }
 
    for(i = 0; i < size2; ++i){
        flag = true;
        for(j = 0; j < size1 - 1; ++j){
            if(coll2.front() == coll1.front()){
                flag = false;
                break;
            }
 
            coll1.push(coll1.front());
            coll1.pop();
        }
 
        if(flag){
            if(coll2.front() != coll1.front()){
                coll3.push(coll2.front());
            }
 
            coll1.push(coll1.front());
            coll1.pop();
        }
 
        coll2.push(coll2.front());
        coll2.pop();
    }
 
    std::cout << "\nThird queue: \n";
    std::cout << coll3;
 
    while(!coll1.empty()){
        coll1.pop();
    }
 
    while(!coll2.empty()){
        coll2.pop();
    }
 
    while(!coll3.empty()){
        coll3.pop();
    }
 
    std::cout << "\n\n";
    return 0; 
}
1
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 5
22.04.2013, 20:41  [ТС]
yoghurt92, спасибо огромнейшее, а можешь подробно расписать что где делается если не сложно, чтобы понять что к чему
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
22.04.2013, 20:52
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Student_123, ну как-то так)

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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#include <iostream>
#include <string>
#include <queue>
#include <algorithm>
#include <iterator>
#include <vector>
 
//перегруженный оператор ввода
template<typename T>
std::istream& operator>>(std::istream& ist, std::queue<T>& queue)
{
    T temp;     //промежуточная переменная (символ)
    typename std::queue<T>::size_type queuesize = 5,    //размер очереди
        i;
 
    for(i = 0; i < queuesize; ++i)          
    {
        std::cout << "Enter the symbol: "; 
            ist >> temp;                        //вводим символ
        queue.push(temp);                       //ставим в очередь
    }
 
    return ist;             //для связывания операции ввода
}
 
//перегруженный оператор вывода
template<typename T>
std::ostream& operator<<(std::ostream& ost, std::queue<T>& queue)
{
    typename std::queue<T>::size_type queuesize = queue.size(), //размер очереди
        i;
 
    for(i = 0; i < queuesize; ++i)
    {
        ost << queue.front() << std::endl;      //выводим первый
        queue.push(queue.front());              //добавляем первый в конец
        queue.pop();                            //удаляем первый
    }
 
    return ost;         //для связывания операции вывода
}
 
int main() 
{ 
    std::string str("bcdfghjklmnpqrstvwxz");        //строка с согласными буквами
    std::queue<char> coll1, coll2, coll3;           //три очереди
 
    std::cout << "Enter first queue: \n";
    std::cin >> coll1;                          //вводим очередь 1
 
    std::cout << "\nEnter second queue: \n";
    std::cin >> coll2;                          //вводим очередь 2
 
    std::cout << "\nFirst queue: \n";
    std::cout << coll1;                         //выводим очередь 1
 
    std::cout << "\nSecond queue: \n";
    std::cout << coll2;                         //выводим очередь 2
 
    //считаем кол-во согласных
    int count1 = std::count_if(&coll1.front(), &coll1.back() + 1, [str](char n) -> bool
        {
            bool flag(false);
            std::string::size_type i;
            for(i = 0; i < str.size(); ++i){
                if(n == str[i]){
                    flag = true;
                    break;
                }
            }
 
            return flag;
        }),
 
    //считаем кол-во согласных
    count2 = std::count_if(&coll2.front(), &coll2.back() + 1, [str](char n) -> bool
        {
            bool flag(false);
            std::string::size_type i;
            for(i = 0; i < str.size(); ++i){
                if(n == str[i]){
                    flag = true;
                    break;
                }
            }
 
            return flag;
        }); 
 
    //ну тут понятно
    if(count1 > count2)
        std::cout << "\nIn the first queue is more consonant!\n";
    else
        std::cout << "\nIn the second queue is more consonant!\n";
 
    std::queue<char>::size_type size1(coll1.size()), size2(coll2.size()), i, j;
 
    bool flag;
    //записывем что не вошло в воторую очередь в третью
    for(i = 0; i < size1; ++i){
        flag = true;
        for(j = 0; j < size1 - 1; ++j){
            if(coll1.front() == coll2.front()){
                flag = false;
                break;
            }
 
            coll2.push(coll2.front());
            coll2.pop();
        }
 
        if(flag){
            if(coll1.front() != coll2.front()){
                coll3.push(coll1.front());
            }
 
            coll2.push(coll2.front());
            coll2.pop();
        }
 
        coll1.push(coll1.front());
        coll1.pop();
    }
 
    //записывем что не вошло в первую очередь в третью
    for(i = 0; i < size2; ++i){
        flag = true;
        for(j = 0; j < size1 - 1; ++j){
            if(coll2.front() == coll1.front()){
                flag = false;
                break;
            }
 
            coll1.push(coll1.front());
            coll1.pop();
        }
 
        if(flag){
            if(coll2.front() != coll1.front()){
                coll3.push(coll2.front());
            }
 
            coll1.push(coll1.front());
            coll1.pop();
        }
 
        coll2.push(coll2.front());
        coll2.pop();
    }
 
    std::cout << "\nThird queue: \n";
    std::cout << coll3;                 //выводим очередь 3
 
    //очищаем очереди
    while(!coll1.empty()){
        coll1.pop();
    }
 
    while(!coll2.empty()){
        coll2.pop();
    }
 
    while(!coll3.empty()){
        coll3.pop();
    }
 
    std::cout << "\n\n";
    return 0; 
}
1
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 5
22.04.2013, 20:58  [ТС]
Спасибо дружище, выручил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.04.2013, 20:58
Помогаю со студенческими работами здесь

Определить каких букв больше в строке: гласных или согласных и на сколько.
1)Ввести строку А с клавиатуры состоящую из заглавных русских букв. Определить каких букв больше: гласных или согласных и на сколько....

Определить номер строки в которой больше всего гласных букв
Задание: 1) Скопировать из файла F1 в файл F2 все строки, кроме той, в которой больше гласных. 2) Вивести номер этой строки. код: ...

Определить номер строки, в которой больше всего букв «А» в файле
Здравствуйте! помогите вывести номер строки с наибольшим количеством букв &quot;A&quot; из файла

Определить слова, в которых содержится больше двух гласных букв русского алфавита
Добрый день!Нужно определить cлова, в которых содержится больше двух гласных букв русского алфавита, и вывести эти слова на экран. Исходная...

Вывести слова, содержащие гласных букв больше, чем согласных
вывести слова, содержащие гласных букв больше, чем согласных


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru