Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
 Аватар для DebieCooper
36 / 36 / 1
Регистрация: 12.10.2011
Сообщений: 343

Вывод элементов очереди на экран

26.03.2012, 10:52. Показов 4456. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, как вывести очередь на экран. У меня почему-то какуя-то ошибку кидает. У меня есть версия, что нужно перегрузить оператор вывода, но я не умею
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
#include <iostream>
#include <queue>
#include <fstream>
#include <string>
#include <list>
#include <algorithm>
#include <iterator>
#include <vector>
#include <map>
#include <set>
using namespace std;
 
struct bus
{
  int  nm;
  string name;
  int num_bus;
  string marka;
  friend ostream&operator<<(ostream&os,bus opa);
  
};
 
 bool sr_nm (bus &a,bus &b){return a.nm<b.nm;}
 bool sr_num (bus &a, bus &b){return a.num_bus<b.num_bus;}
 
 
 
int main()
{
 
 
  setlocale (LC_ALL,"RUS");
  vector<bus> vec;  
  queue<bus> ls;
  ifstream in ( "infile.txt" ); ofstream out ( "outfile.txt" );
 
       int  n;
 
    in >> n;
    for(int i=0; i<n; i++)
    {
     bus p;
     in>>p.nm>>p.name>>p.num_bus>>p.marka;
     ls.push(p);
     vec.push_back(p);
    }
 
 
   
    vector<bus>:: iterator q;
 
    while (!ls.empty())
    {
 
        out<<ls.front();
        ls.pop();
    }
 
 
 
 
 
 
    
     
 
 
    sort(vec.begin(), vec.end(),sr_nm);
    for(q=vec.begin(); q!=vec.end(); q++)
    cout<<q->nm<<" "<<q->name<<" "<<q->num_bus<<" "<<q->marka<<endl;
    cout<<endl;
    
 
 
    /*sort(ls.begin(), ls.end(),sr_num);
    for(i=ls.begin(); i!=ls.end(); i++)
    cout<<i->nm<<" "<<i->name<<" "<<i->num_bus<<" "<<i->marka<<endl;
    cout<<endl;*/
    
    map< int, bus > m;
    
    for (q=vec.begin(); q!=vec.end(); q++)
        m.insert(pair < int, bus> ( (*q).num_bus, (*q) ) );
 
     cout<<"Список маршрутов"<<endl;
    set< int > mn;
    set<int>::iterator r;
    for(q=vec.begin(); q!=vec.end(); ++q )
        mn.insert((*q).nm);
    for(r=mn.begin(); r!=mn.end(); ++r)
        cout<<*r<<endl;
    //_____________________________________________
    cout<<"Введите номер маршрута:"<<endl;
        int a;
        cin>>a;
        map < int, bus >::iterator z;
        z= m.find(a);
        if (z!=m.end()){
        do{
            cout<<(*z).second.num_bus<<endl;
            z++;
        } while (z!=m.upper_bound(a) );
        }
        else
        cout<<"Таких нет"<<endl;
//_____________________________
      
 
      int o;
      cin>>o;
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.03.2012, 10:52
Ответы с готовыми решениями:

Просмотр первого элемента очереди, вывод очереди на экран
Доброго времени суток! Не могу разобраться с тем, почему компилятор ругается на функции Peek и Print (считывание первого элемента очереди и...

Объявление ,инициализация ы вывод на экран двусторонней очереди
Добрый вечер! Ребята подскажите ,я правильно все сделал ? Задание :объявить двустороннюю очередь с элементами целого типа и именем ...

Вывести содержимое очереди на экран и посчитать количество элементов образованной очереди
Дан текстовый файл. Проанализировать в программе содержимое файла, выберете из него имена и занесите в очередь. Выведете содержимое очереди...

3
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
26.03.2012, 11:11
C++
1
2
3
4
5
friend ostream& operator<< (ostream& os, bus& opa)
{
    os << nm << ' ' << name << ' ' << num_bus << ' ' << marka;
    return os;
}
C++
1
2
bool sr_nm (const bus &a, const bus &b){return a.nm<b.nm;}
 bool sr_num (const bus &a, const bus &b){return a.num_bus<b.num_bus;}
1
 Аватар для DebieCooper
36 / 36 / 1
Регистрация: 12.10.2011
Сообщений: 343
26.03.2012, 11:51  [ТС]
error C2597: illegal reference to non-static member 'bus::nm'
Ругается
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
26.03.2012, 11:53
DebieCooepr, поправка
C++
1
os << opa.nm << ' ' << opa.name << ' ' << opa.num_bus << ' ' << opa.marka;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.03.2012, 11:53
Помогаю со студенческими работами здесь

Выведите содержимое очереди на экран и посчитайте количество элементов образованной очереди
Дан текстовый файл. Проанализировав в программе содержимое файла, выберите из него имена и занесите в очередь. Выведите содержимое очереди...

Очередь на базе списка: добавление элемента, удаление, поиск в очереди, вывод на экран
Может у кого есть готовое решение этого задания, буду Вам очень признателен. Желательно что бы пользователь сам вводил значения с...

Как сделать вывод элементов массива по очереди
Добрый день такой вопрос. Мне нужно сделать так что бы элементы массива выводились один за другим, вот думал Thread.Sleep но он только в...

Подсчитать количество различных элементов в очереди и вывести их на экран
1. Подсчитать число различных элементов в очереди и вывести их на экран 2. 3. На контрольной были эти задачи. Нужно их решить....

Вывод элементов очереди: указатели остаются в последнем положении
Помогите разобраться с работой с указателями в очереди. Есть следующий код: #include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru