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

set_intersection - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Насчет стандартной функции time() http://www.cyberforum.ru/cpp-beginners/thread836844.html
Есть маленький вопрос, ответ на который не получается найти: Как вывести на экран текущее значение времени с помощью функции тайм, чтобы вывод был в человеческом формате, а не в секундах. #include <iostream> #include <time.h> #include <stdio.h> using namespace std; int main() {
C++ наследование классов Помогите, пожалуйста. как соотносяться между собой размеры экземпляров базового и производного классов http://www.cyberforum.ru/cpp-beginners/thread836831.html
Изменения значения переменной типа COORD C++
Всем доброго времени суток! Недавно я, найдя хороший способ перемещения курсора в консоли, столкнулся с проблемой. Сам код выглядит так: COORD position = {0,0}; //позиция x и y HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hConsole, position); В течение всей программы мне нужно менять значения переменной position, но когда я использую position = {1, 10};...
C++ Ошибки в работе со строками
Дано два символьных файла f и g. Проверить их на совпадение символов. Если отличаются тогда вывести эти символы. Моя программа задачу вроде выполняет, но в конце ругается на ошибки. Кто знает из-за чего они? #include<iostream> #include<fstream> #include<string> using namespace std;
C++ Организация прерываний в DOS http://www.cyberforum.ru/cpp-beginners/thread836807.html
Доброе время суток. Возникла проблема с прерываниями в DOS. Недавно начал изучать их использование в написании программ, так что заранее извиняюсь, если что-то в моем сообщении будет выглядеть глупо. Буду краток: когда читал статьи об использовании прерываний наткнулся на две из них: 1 программа, генерирует 33 прерывание и выводит мышь на экран.(в дальнейшем дополнил программу определением...
C++ Неправильно удаляет узел из бинарного дерева Помогите подправить фунцию SearchDelete...Почему-то не работет. //13. Побудувати довільне бінарне дерево, зчитавши числові значення його вузлів з файла. //Видалити з дерева усі вузли, значення яких є парними числами. //Надрукувати дерево, що утворено до та після видалення його вузлів. #include<iostream> #include<string.h> #include<conio.h> using namespace std; struct node { ... подробнее

Показать сообщение отдельно
mazukta26
1 / 1 / 0
Регистрация: 25.02.2013
Сообщений: 36

set_intersection - C++

13.04.2013, 19:31. Просмотров 246. Ответов 0
Метки (Все метки)

есть 4 входных файла
1 файл содержит информацию о том, какие рыбы водятся в пруду
3 других хранят информацию, что выловил каждый из трех рыбаков
требуется найти, какие виды рыб есть у каждого рыбака;
для этого я использую set_intersection, однако компилятор выдает из-за этого алгоритма уйму ошибок

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
#include <iostream>
#include <fstream>
#include <utility>
#include <functional>
#include <string>
#include <cstring>
#include <set>
#include "algorithm.h"
using namespace std;
string ToLower (const string & a){
    string tmp(a);
    for (int i=0;i<tmp.length();i++)
        if (tmp[i]>='A' && tmp[i]<='Z')
            tmp[i]=tolower(tmp[i]);
        else
            if (tmp[i]>='А' && tmp[i]<='Я')
                tmp[i]=_tolower(tmp[i]);
    return tmp;
}
bool cmp (string & a, string & b){
    return (ToLower(a)<ToLower(b));
}
 
int main (){
    setlocale (LC_ALL,".1251");
    ofstream out("output.txt");
    if (!out){
        cout<<"Выходной файл не может быть создан. Вероятно, не хватает места на диске"<<endl;
        return 0;}
    ifstream in("input.txt");
    if (!in){
        out<<"Входной файл с данными о видах рыб не найден"<<endl;
        out.close();
        return 0;}
    ifstream in1("input1.txt");
    if (!in1){
        out<<"Входной файл с данными о первом рыбаке не найден"<<endl;
        out.close();
        in.close();
        return 0;}
    ifstream in2("input2.txt");
    if (!in2){
        out<<"Входной файл с данными о втором рыбаке не найден"<<endl;
        out.close();
        in.close();
        in1.close();
        return 0;}
    ifstream in3("input3.txt");
    if (!in3){
        out<<"Входной файл с данными о третьем рыбаке не найден"<<endl;
        out.close();
        in.close();
        in1.close();
        in2.close();
        return 0;}
    string tmp;
    set <string> r;
    in>>tmp;
    if (in.eof()){
        out<<"Входной файл с данными о виах рыб пуст"<<endl;
        out.close();
        in.close();
        in1.close();
        in2.close();
        in3.close();
        return 0;}
    while (!in.eof())
    {
        if (find(r.begin(),r.end(),ToLower(tmp))==r.end())
            r.insert(tmp);
        in>>tmp;}
    in1>>tmp;
    set <string> r1;
    if (in1.eof()){
        out<<"Входной файл с данными о рыбаке №1 пуст"<<endl;
        out.close();
        in.close();
        in1.close();
        in2.close();
        in3.close();
        return 0;}
    while (!in1.eof())
    {
        if (find(r1.begin(),r1.end(),ToLower(tmp))==r1.end())
            r1.insert(tmp);
        in1>>tmp;}
    in2>>tmp;
    set <string> r2;
    if (in2.eof()){
        out<<"Входной файл с данными о рыбаке №2 пуст"<<endl;
        out.close();
        in.close();
        in1.close();
        in2.close();
        in3.close();
        return 0;}
    while (!in2.eof())
    {
        if (find(r2.begin(),r2.end(),ToLower(tmp))==r2.end())
            r2.insert(tmp);
        in2>>tmp;}
    in3>>tmp;
    set <string> r3;
    if (in3.eof()){
        out<<"Входной файл с данными о рыбаке №3 пуст"<<endl;
        out.close();
        in.close();
        in1.close();
        in2.close();
        in3.close();
        return 0;}
    while (!in3.eof())
    {
        if (find(r3.begin(),r3.end(),ToLower(tmp))==r3.end())
            r3.insert(tmp);
        in3>>tmp;}
    set <int> res;
    set_intersection(r.begin(),r.end(),r1.begin(),r1.end(),inserter(res,res.begin()));
    return 0;
}
текстовые файлы:
input.txt
карась лещ окунь щука лосось тунец

input1.txt
карась карась лещ карась

input2.txt
лещ щука Лещ лЕЩ карась

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