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

Список животных :) - C++

Восстановить пароль Регистрация
 
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
02.05.2012, 11:42     Список животных :) #1
Ребята помогите пожалуйста.
• для каждого животного (точнее вида животного) получить количество владельцев и количество кличек;
• для каждого животного получить список владельцев этого вида животного;
Исправьте код плиз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
#include <iostream>
#include <queue>
#include <fstream>
#include <string>
#include <list>
#include <algorithm>
#include <iterator>
#include <vector>
#include <map>
#include <set>
using namespace std;
 
struct ZHIV
{
  string name;
  string vid;
  string klichka;
 
 
  friend ostream& operator<< (ostream& os, ZHIV& opa)
{
    os << opa.name << ' ' << opa.vid << ' ' << opa.klichka << ' ';
    return os;
}
  
};
 
int main()
{
  setlocale (LC_ALL,"RUS");
  vector<ZHIV> vec;  
  ifstream in ( "infile.txt" ); 
  ofstream out ( "outfile.txt" );
  int  n;
  in >> n;
 
  for(int i=0; i<n; i++)
    {
     ZHIV p;
     in>>p.name>>p.vid>>p.klichka;
     vec.push_back(p);
    }
 
  vector<ZHIV>:: iterator q;
  //________________________
 
//______________________________
  map< string, ZHIV > m;
    
    for (q=vec.begin(); q!=vec.end(); q++)
        m.insert(pair < string, ZHIV> ( (*q).vid, (*q) ) );
 
     cout<<"Список всех владельцев дом.животных"<<endl;
    set< string > mn;
    set<string>::iterator r;
    for(q=vec.begin(); q!=vec.end(); ++q )
        mn.insert((*q).name);
    for(r=mn.begin(); r!=mn.end(); ++r)
        cout<<*r<<endl;
    //___________________________________
    multimap< string, ZHIV > m2;
    
    for (q=vec.begin(); q!=vec.end(); q++)
        m2.insert(pair < string, ZHIV> ( (*q).vid, (*q) ) );
 
 
 
    cout<<"Введите вид животного:"<<endl;
        string x;
        cin>>x;
        multimap < string, ZHIV >::iterator p;
        p= m2.find(x);
        if (p!=m2.end()){
        do{
            cout<<(*p).second.name<<endl;
            p++;
        } while (p!=m2.upper_bound(x) );
        }
        else
        cout<<"Таких нет "<<endl;
    //___________________________________
 
    multimap< string, ZHIV > m1;
    
    for (q=vec.begin(); q!=vec.end(); q++)
        m1.insert(pair < string, ZHIV> ( (*q).vid, (*q) ) );
 
 
 
    cout<<"Введите вид животного:"<<endl;
        string a;
        cin>>a;
        multimap < string, ZHIV >::iterator z;
        z= m1.find(a);
        if (z!=m1.end()){
        do{
            cout<<(*z).second.name<<endl;
            z++;
        } while (z!=m1.upper_bound(a) );
        }
        else
        cout<<"Таких нет "<<endl;
 
 
 
 
         int o;
      cin>>o;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2012, 11:42     Список животных :)
Посмотрите здесь:

C++ Определить, сколько и каких животных и людей будет у Максима через месяц, если все люди размножаются с геометрической прогрессией, а животные по формуле - (3*day)+4.
Список: связный список, в котором информация о книгах сортируется по убыванию стоимости. C++
C++ 3 класса: список, стек(как список), очередь(как список)
опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге) C++
C++ создать список л3 из элементов входящих и в список л1 и в список л2
Нужна программа учета диких животных C++
Найти количество способов выбрать трех животных для международной выставки C++
C++ Реализация операций с множествами на примере домашних животных на ферме

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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