К основному контенту

Интересная задачка для развития. Решено через Map. C++

Три дачника выращивают на своих участках цветы из имеющегося списка (ирис,
роза, астра, пион, георгин, хризантема, гладиолус).Определить, цветы каких
видов выращивают все дачники; хотя бы два из них; не выращивает ни один
из дачников.


#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;
}

Комментарии

Популярные сообщения из этого блога

Прата С. Решение задач 6 главы

На решение этих задач у меня ушло 2 дня. Становится все интереснее и интереснее! и черт возьми, я наконец-то поняла работу с файлами! прошу прощения за корявые условия. просто в нормальном формате электронной книги у меня нет, потому скрины задач просто пропущены через Файнридер.

4 глава, Лафоре Р.

*1. Номер телефона, например (212) 767—8900, можно условно разделить на три части: код города (212), номер телефонной станции (767) и номер абонента (8900). Напишите программу с использованием структуры, поз- воляющую раздельно хранить эти три части телефонного номера. Назо- вите структуру phone. Создайте две структурные переменные типа phone. Инициализацию одной из них произведите сами, а значения для другой запросите с клавиатуры. Затем выведите содержимое обеих переменных на экран. Результат работы программы должен выглядеть приблизитель- но так: Введите код города, номер станции и номер абонента: 415 555 1212 Мой номер (212) 767-8900 Ваш номер (415) 555-1212

Laravel контракты, сервис провайдеры, сервис-контейнеры, фасады, сервисы и все-все-все

Если вам пока страшно от подобных словосочетаний, то не беспокойтесь, это абсолютно нормально. Если вы уже не новичок в Laravel и до сих пор сами от себя скрываете тот факт, что все вышеперечисленные системы надо таки осознать и понять – это норма. Все мы там были.