Kod: Zaznacz cały
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double price,increase,maintainCost,units,profit1,profit2;
int i,apartaments;
cout<<fixed<<setprecision(2);
cout<<"Enter the price per each unit which results in occupying all apartaments ";
cin>>price;
cout<<"Enter the increase in rent that results in a vacant unit ";
cin>>increase;
cout<<"Enter the amount to maintain a rented unit ";
cin>>maintainCost;
cout<<"How many apartaments do you have to rent? ";
cin>>apartaments;
i=0;
profit1=0;
profit2=0;
while (profit1<=profit2)
{
profit1=(price+increase*i)*apartaments-maintainCost*(apartaments-i);
apartaments--;
i++;
profit2=(price+increase*i)*apartaments-maintainCost*(apartaments-i);
}
cout<<"The highiest available profit is "<<profit2<<endl;
cout<<"You should rent "<<apartaments<<" apartaments"<<endl;
system("PAUSE");
return 0;
}
Program ma pytać o liczbę apartamentów do wynajęcia, cenę za każdy, przy której wszystkie zostaną zajęte, koszt utrzymania ZAJĘTEGO apartamentu oraz podwyżkę tej ceny, przy której zostanie zajęty o jeden mniej. Następnie wyznacza liczbę mieszkań do wynajęcia, przy których będzie największy zysk.
Za każdym razem wyświetlają mi się jednak minimalnie złe wartości największych zysków.
Gdzie jest błąd?