Три дачника выращивают на своих участках цветы из имеющегося списка (ирис,
роза, астра, пион, георгин, хризантема, гладиолус).Определить, цветы каких
видов выращивают все дачники; хотя бы два из них; не выращивает ни один
из дачников.
#include "stdafx.h"
#include <iostream>
#include <map>
#include <string>
using namespace std;
void main()
{
bool flag;
map <string, int> flovers;
flovers["Iris"] = 0;
flovers["Rose"] = 0;
flovers["Astra"] = 0;
flovers["Pion"] = 0;
flovers["Georgin"] = 0;
flovers["Khrizantema"] = 0;
flovers["Gladoilus"] = 0;
for (int i = 0; i < 3; i++)
{
cout << i + 1 << " cottager grows:" << endl << "NO - 0" << endl << "YES - 1 " << endl << "********************" << endl;
for (map<string, int>::iterator it = flovers.begin(); it != flovers.end(); ++it)
{
cout << (*it).first << " = ";
try
{
if (!(cin >> flag))
throw "ERROR!\nYou can not enter characters. Please, enter 0 or 1";
}
catch (char *str_exception)
{
cout << str_exception << endl;
exit(1);
}
if (flag)
(*it).second++;
}
}
cout << endl << "Grows all cottager: ";
for (map<string, int>::iterator it = flovers.begin(); it != flovers.end(); ++it)
{
if ((*it).second == 3)
cout << (*it).first << ", ";
}
cout << endl << "Grown at least two cottagers: ";
for (map<string, int>::iterator it = flovers.begin(); it != flovers.end(); ++it)
{
if (((*it).second == 2) || ((*it).second == 3))
cout << (*it).first << ", ";
}
cout << endl << "No one from the growing: ";
for (map<string, int>::iterator it = flovers.begin(); it != flovers.end(); ++it)
{
if ((*it).second == 0)
cout << (*it).first << ", ";
}
cout << endl;
}
роза, астра, пион, георгин, хризантема, гладиолус).Определить, цветы каких
видов выращивают все дачники; хотя бы два из них; не выращивает ни один
из дачников.
#include "stdafx.h"
#include <iostream>
#include <map>
#include <string>
using namespace std;
void main()
{
bool flag;
map <string, int> flovers;
flovers["Iris"] = 0;
flovers["Rose"] = 0;
flovers["Astra"] = 0;
flovers["Pion"] = 0;
flovers["Georgin"] = 0;
flovers["Khrizantema"] = 0;
flovers["Gladoilus"] = 0;
for (int i = 0; i < 3; i++)
{
cout << i + 1 << " cottager grows:" << endl << "NO - 0" << endl << "YES - 1 " << endl << "********************" << endl;
for (map<string, int>::iterator it = flovers.begin(); it != flovers.end(); ++it)
{
cout << (*it).first << " = ";
try
{
if (!(cin >> flag))
throw "ERROR!\nYou can not enter characters. Please, enter 0 or 1";
}
catch (char *str_exception)
{
cout << str_exception << endl;
exit(1);
}
if (flag)
(*it).second++;
}
}
cout << endl << "Grows all cottager: ";
for (map<string, int>::iterator it = flovers.begin(); it != flovers.end(); ++it)
{
if ((*it).second == 3)
cout << (*it).first << ", ";
}
cout << endl << "Grown at least two cottagers: ";
for (map<string, int>::iterator it = flovers.begin(); it != flovers.end(); ++it)
{
if (((*it).second == 2) || ((*it).second == 3))
cout << (*it).first << ", ";
}
cout << endl << "No one from the growing: ";
for (map<string, int>::iterator it = flovers.begin(); it != flovers.end(); ++it)
{
if ((*it).second == 0)
cout << (*it).first << ", ";
}
cout << endl;
}
Комментарии
Отправить комментарий