Can you count the letter "е" in:
Q: c++ Множества.Не получается провести операции над ними Задача такая.У меня есть структура.Надо создать  А и В множества,в которые поместить эти структуры.И в конце сделать объединение, пересечение, вычитание этих множеств.Вот я сделал такую программу, но у меня после ввода данных структур прога завершается.
Работу с множествами я сделал через , как я понял там есть функции готовые для множеств:set_difference - вычитание,set_union - обьедение,set_intersection - пересечение.
#include<iostream>
#include<set>
#include<vector>
#include <algorithm>
#include <iterator>
#include<tuple>
using namespace std;
struct photo
{ 

int god;
string firm;
string model;
int price;
int zoom;
string format;
int ves;
int pixels;
} pa[9];

void vvod(int k)
{
for(int i=0;i<=k;i++)
{   

cout<<"god?";
cin>>pa[i].god;
cout<<"firm?";
cin>>pa[i].firm;
cout<<"model?";
cin>>pa[i].model;
cout<<"price?";
cin>>pa[i].price;
cout<<"zoom?";
cin>>pa[i].zoom;
cout<<"format?";
cin>>pa[i].format;
cout<<"ves?";
cin>>pa[i].ves;
cout<<"pixels?";
cin>>pa[i].pixels;
}

}
void clear()
{
system("cls");
}

bool operator <(const photo& lhs, const photo& rhs)
{
return
    tie(lhs.god,lhs.firm,lhs.model,
        lhs.price,lhs.zoom,
        lhs.format,lhs.ves,lhs.pixels)
    <
    tie(rhs.god,rhs.firm,rhs.model,
        rhs.price,rhs.zoom,
        rhs.format,rhs.ves,rhs.pixels);
}

int main()
{   
vvod(3);

clear();
set<photo> a,b,c;
a.insert(pa[0]);
a.insert(pa[1]);
b.insert(pa[2]);
b.insert(pa[3]);

set_difference(a.begin(),a.end(), b.begin(),b.end(), inserter(c,c.begin()));
}


A: Полагаю, что вы забыли вывести результат работы вашей программы, и поэтому вам кажется что она завершается сразу после ввода данных.
Вот пример простого кода, который выводит в stdout последовательно каждый элемент вашего множества:
for (const photo& each : c)
{
    std::cout << each << std::endl;
}

Чтобы это заработало, вам необходимо определить оператор вывода в поток вашей структуры photo. Например так:
std::ostream& operator<< (std::ostream& dest, const photo& src)
{
    dest << src.god << ", "
         << src.firm << ", "
         << src.model << ", "
         << src.price << ", "
         << src.zoom << ", "
         << src.format << ", "
         << src.ves << ", "
         << src.pixels;
    return dest;
}


user
There are sixty-three "е"s in the text you provided.
assistant