Регистрация
Войти
Стать экспертом Правила
Информатика

Написать программу на с++Голодная зима. Суточный рацион коровы составляет u кг сена, v кг силоса и wкг комбикорма. В хозяйстве, содержащем стадо из k голов, осталось s кг сена, t кг силоса и f кг комбикорма.. В стаде ежедневно погибает p% коров; ежедневно q% оставшегося сена сгнивает; r% силоса разворовывается колхозниками; t% комбикорма распродает зав. фермой. Когда нельзя будет кормить всех оставшихся коров по полному рациону? Какой из видов кормов кончится раньше других?

ОТВЕТЫ

Был добавлен функционал продажи половины коров взамен на ресурсы.

#include <iostream>

#include <cstdlib>

#include <string>

using namespace std;

bool YesNo;

bool getAnswer() {

cin >> YesNo;

if(YesNo) {

 return true;

}

else {

 return false;

}

}

int main() {

setlocale(0, ""); // В СКОБОЧКАХ ВВЕСТИ ИСХОДНЫЕ ДАННЫЕ

int dayCounter = 0;

float uDayNeed(0.5f), vDayNeed(0.5f), wDayNeed(0.5f);

 // сено силос комбикорм в день

float u(110000.0f), v(100000.5f), w(200000.5f); // запасы

float k(100.0f), kDayMinus(0.3f); // коровы и -коровы% в день.

// Потом k через static_cast преобразуются в int

float uDayMinus(2.0f), vDayMinus(2.0f), wDayMinus(2.0f);

// в день проценты от запасов

for(int i = 0; i<1000000; ++i) {

 ++dayCounter;

 if(k<1.0) {

  cout << "Коровы кончились. Коровы были " << dayCounter << " дней";

  break;  

 }

 if(u<=uDayNeed*static_cast<int>(k)) {

  cout << "Не хватает сена" << ", коровы прожили " << dayCounter << " дней";

  cout << endl << "Предлагаем продать 50% коров и получить 50% к ресурсам";

  cout << endl << "Введите 1, если согласны и 0, если не согласны: ";

  if(!getAnswer()) {

  cout << endl << "Вы отказались от предложения";

  break;

 }else {

  u*=2; v*=2; w*=2; k/=2;

 }}

 if(v<=vDayNeed*static_cast<int>(k)) {

  cout << "Не хватает силоса" << ", коровы прожили " << dayCounter << " дней";

  cout << endl << "Предлагаем продать 50% коров и получить 50% к ресурсам";

  cout << endl << "Введите 1, если согласны и 0, если не согласны: ";

  if(!getAnswer()) {

  cout << endl << "Вы отказались от предложения";

  break;

 }else {

  u*=2; v*=2; w*=2; k/=2;

 }}

 if(w<=wDayNeed*static_cast<int>(k)) {

  cout << "Не хватает комбикорма" << ", коровы прожили " << dayCounter << " дней";

  cout << endl << "Предлагаем продать 50% коров и получить 50% к ресурсам";

  cout << endl << "Введите 1, если согласны и 0, если не согласны: ";

  if(!getAnswer()) {

  cout << endl << "Вы отказались от предложения";

  break;

 }else {

  u*=2; v*=2; w*=2; k/=2;

 }}

 // уменьшаем колво коров, запасов

 u=u-uDayNeed*k-(u/100*uDayMinus);

 v=v-vDayNeed*k-(v/100*vDayMinus);

 w=w-wDayNeed*k-(u/100*wDayMinus);

 k=k-(k/100*kDayMinus);

}

 

}

961
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам