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

STL небольшие исправления - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать класс http://www.cyberforum.ru/cpp-beginners/thread523490.html
Доброго времени суток. Нужна помощь. Завтра контрольная, а я вот как-то не могу написать программу.. Помогите пожалустааа.. \\Создать класс содержащий данные, реализовать методы ввода вывода и выборки по условию. Класс ФИРМА содержит следующие данные: идентификационный номер сотрудника,фамилия, имя, отчество, наименование отдела, должность, категория. Вывести список сотрудников определенной...
C++ Создать АТД (структура) 1.Создать АТД (структура) - принтер, у которого есть фирма-производитель, тип(матричный,струйный,лазерный), разрешающая способность. Создать массив из принтеров и определить функцию для вывода лазерных принтеров в порядке возрастания разрешающей способности. Определить функцию, которая устанавливает по умолчанию тип струйный с разрешающей способностью 300х300. 2.Создать АТД (структура) -... http://www.cyberforum.ru/cpp-beginners/thread523476.html
C++ E2251 Cannot find default constructor to initialize base class
Здравствуйте. Столкнулся с данной ошибкой: E2251 Cannot find default constructor to initialize base class class fCountry { public: fCoutry(void) fCountry(string _name, string _government, double _area) fCountry(fCountry const& N)
C++ Элементарные действия с классом
Доброй ночи. Что следует прописать в int main() ,чтоб вызвать функцию coplex::trigon(float a, float b) использую переменные которые указаны в классе coplex. #include <iostream> #include <math.h> #include <string> using namespace std; class coplex {
C++ Составить программы по блок-схемам С++ http://www.cyberforum.ru/cpp-beginners/thread523423.html
1. Даны две действительные квадратные матрицы порядка n. Получить новую матрицу: а) умножением элементов каждой строки первой матрицы на наибольшее из значений элементов соответствующей строки второй матрицы; б) прибавлением к элементам каждого столбца первой матрицы произведения элементов соответствующих строк второй матрицы. 2. Даны натуральное число n, символы s1,...,sn. Известно, что...
C++ Сервер-клиент Добрый всем вечер. есть код написанный на с. к сожалению код видимо с ошибкой. помогите пожалуйста найти её. http://s017.***********/i442/1203/7e/94aa4fb35bfc.jpg http://s48.***********/i120/1203/de/3ca07e562546.jpg http://s019.***********/i623/1203/82/00b7f1506079.jpg проблема в том, что программа должна запрашивать у клиента 2 сообщения. а она запрашивает 1. прописывает 2 часть сообщение... подробнее

Показать сообщение отдельно
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
21.03.2012, 11:38     STL небольшие исправления
Доброго времени суток. Помогите пожалуйста немного переделать программу. Вместо вектора мне нужна сделать очередь, ключом должен быть водитель (т.е "name"), вместо того чтобы выводить список различных маршрутов (nm), нужно выводить список всех водителей (name) работающих на одной марке автобуса (mark). Буду очень благодарен.
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
#include "stdafx.h"
#include <iostream>
#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;
};
 
 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 _tmain(int argc, _TCHAR* argv[])
{
 
 
  setlocale ( 0, "RUS" );
  vector<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_back(p);
    }
    vector<bus>:: iterator i;
    for(i=ls.begin(); i!=ls.end(); i++)
      cout<<i->nm<<" "<<i->name<<" "<<i->num_bus<<" "<<i->marka<<endl;
     cout<<endl;
 
 
    sort(ls.begin(), ls.end(),sr_nm);
    for(i=ls.begin(); i!=ls.end(); i++)
    cout<<i->nm<<" "<<i->name<<" "<<i->num_bus<<" "<<i->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 (i=ls.begin(); i!=ls.end(); i++)
        m.insert(pair < int, bus> ( (*i).num_bus, (*i) ) );
 
     cout<<"list marshrutow"<<endl;
    set< int > mar;
    set<int>::iterator r;
    for(i=ls.begin(); i!=ls.end(); ++i )
        mar.insert((*i).nm);
    for(r=mar.begin(); r!=mar.end(); ++r)
        cout<<*r<<endl;
    //_____________________________________________
    cout<<"vvedite nomer marshruta:"<<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<<" takih net"<<endl;
//_____________________________
      
 
      int o;
      cin>>o;
    return 0;
}
Добавлено через 11 часов 24 минуты
Апаю темку

Добавлено через 38 минут
Поменял код. Теперь у меня проблема в 51-56 строке. Не знаю как вывести элементы очереди.
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
#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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru