Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- std::string trash;
- void clearel(){
- std::cin.clear();
- std::getline(std::cin,trash,'\n');
- }
- int dbevent()
- {
- bool badinp;
- int eventdb;
- do
- {
- std::cin >> eventdb;
- badinp = std::cin.fail() || std::cin.peek()!='\n' || eventdb <2 || eventdb>100;
- clearel();
- }while(badinp);
- return eventdb;
- }
- int dbcat()
- {
- bool badinp;
- int catdb;
- do{
- std::cin >> catdb;
- badinp = std::cin.fail() || std::cin.peek()!='\n' || catdb <1 || catdb>10;
- clearel();
- }while(badinp);
- return catdb;
- }
- void esemenyek()
- {
- int eventdb = dbevent();
- int catdb = dbcat();
- int eventyear[eventdb];
- int eventcategory[eventdb];
- std::string eventid[eventdb];
- std::string catname[catdb];
- std::string vegso;
- int vegsodarab =0 ;
- bool badinp;
- int evegy;
- int evketto;
- for(int i = 0; i < eventdb; i++)
- {
- do
- {
- std::cin >> eventyear[i];
- //int testnovekvo = 0;
- // int testcsokkeno = 0;
- // if(i>=1)
- // {
- //if(eventyear[i]>=eventyear[i-1])
- // {
- // testnovekvo++;
- // }
- // if(eventyear[i]<=eventyear[i-1])
- // {
- // testcsokkeno++;
- // }
- //}
- badinp = std::cin.fail() || std::cin.peek()!='\n' || eventyear[i] <1 || eventyear[i]>2013; //|| (testcsokkeno < i-1 && testnovekvo<i-1);
- clearel();
- }while(badinp);
- do
- {
- std::cin >> eventcategory[i];
- badinp = std::cin.fail() || std::cin.peek()!='\n' || eventcategory[i] <1 || eventcategory[i]>catdb;
- clearel();
- }while(badinp);
- do
- {
- std::getline(std::cin, eventid[i]);
- badinp = eventid[i].empty() || std::cin.fail();
- std::cin.clear();
- }while(badinp);
- }
- do
- {
- std::cin >> evegy >> evketto;
- badinp = std::cin.fail() || std::cin.peek()!='\n' || evegy <1 || evegy > 2012 || evegy > evketto || evegy == evketto;
- clearel();
- }while(badinp);
- for(int i = 0; i < catdb;i++)
- {
- do
- {
- std::cin >> catname[i];
- badinp = eventid[i].empty() || std::cin.fail();
- std::cin.clear();
- }while(badinp);
- }
- for(int n = 0; n < catdb; n++)
- {
- int i = 0;
- while(eventcategory[i]!=n+1 && i < eventdb)
- {
- i++;
- }
- if(i == eventdb){
- vegsodarab++;
- if(vegso.empty())
- {
- vegso = vegso + catname[n];
- }
- else
- {
- vegso = vegso + " " + catname[n];
- }
- }
- }
- std::cout << vegsodarab <<" ";
- std::cout << vegso << " ";
- }
- int main()
- {
- esemenyek();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement