C/C++

В N колхозах выращивают некоторые сельскохозяйственные культуры из имеющего перечня.

Определить культуры:
-возделываемые во всех колхозах;
-возделываемые только в некоторых колхозах

с++
напишите пожалуйста полный код
К сожалению, вы не предоставили необходимую информацию (например, список сельскохозяйственных культур и количество коллективных хозяйств) для написания полного кода для решения этой проблемы. Однако вот краткое описание решения на C++:

Прочитайте количество коллективных хозяйств (N) и список сельскохозяйственных культур.

Создайте два массива: один для культур, выращенных во всех коллективных хозяйствах, и другой для культур, выращенных только в некоторых коллективных хозяйствах.

Для каждого колхоза ознакомьтесь со списком культур, выращиваемых в этом хозяйстве.

Для каждой культуры проверьте, выращивается ли она во всех коллективных хозяйствах. Если да, добавьте его к ряду культур, выращиваемых во всех коллективных хозяйствах. Если нет, добавьте его к ряду культур, выращиваемых только в некоторых коллективных хозяйствах.

Отобразите содержимое двух массивов: культуры, выращенные во всех коллективных хозяйствах, и культуры, выращенные только в некоторых коллективных хозяйствах.

Вот пример кода на C++:
 #include  
#include

using namespace std;

const int MAX_N = 100;

int N;
unordered_set crops[MAX_N];
unordered_set allCrops;
unordered_set someCrops;

int main() {
cin >> N;

for (int i = 0; i < N; i++) {
int m;
cin >> m;
for (int j = 0; j < m; j++) {
string crop;
cin >> crop;
crops[i].insert(crop);
}
}

for (const auto &crop : crops[0]) {
bool isGrownInAll = true;
for (int i = 1; i < N; i++) {
if (crops[i].count(crop) == 0) {
isGrownInAll = false;
break;
}
}
if (isGrownInAll) {
allCrops.insert(crop);
} else {
someCrops.insert(crop);
}
}

cout
Gio Giorgi
Gio Giorgi
6 289
Лучший ответ

Похожие вопросы