/*
	© MATTO MATTI 2016
	http://mattomatti.com/pl/a45
	napisane przy użyciu Visual Studio Community 2015
	2016-04-03 v 1.0
*/

#include <iostream>
#include <fstream>

using namespace std;

int main () {
	ifstream file("parametry.txt");
	if(file.good()){
		double a, b, c, O, D;
		file >> a >> b >> c >> O >> D;

		double Dn = D, On = O, Dn2, On2;
		for(int i = 1; i<=60; i++){
			On2 = On + a*On - b*On*Dn;
			Dn2 = Dn + b*On*Dn - c*Dn;
			On = On2;
			Dn = Dn2;
		}
		cout << "Po 6m\n
		cout << "populacja myszy: " << (int)(On);
		cout << "\npopulacja drapiezcow: " << (int)(Dn);

		double min = D;
		Dn = D, On = O;
		for(int i = 1; i<=12*20; i++){
			On2 = On + a*On - b*On*Dn;
			Dn2 = Dn + b*On*Dn - c*Dn;
			On = On2;
			Dn = Dn2;
			if(Dn < min)
				min = Dn;
		}
		cout << "\n\nPrzez 10 lat najmniejsza populacja ";
		cout << "drapieznikow: " << (int)(min) << " sztuk";

		int i = 1;
		Dn = D, On = O;
		do{
			On2 = On + a*On - b*On*Dn;
			Dn2 = Dn + b*On*Dn - c*Dn;
			On = On2;
			Dn = Dn2;
			i++;
		} while((int)On!=90);
		cout << "\n\nPopulacja myszy ponownie wyniosla 100";
		cout << "sztuk w " << i << " miesiacu";

		ofstream ofile("populacja.txt");
		if(ofile.good()){
			Dn = D; On = O;
			ofile << "Miesiac	Ofiary	Drapiezcy\n0	";
			ofile << O << "	" << D;
			for(int i = 1; i<=12*10; i++){
				On2 = On + a*On - b*On*Dn;
				Dn2 = Dn + b*On*Dn - c*Dn;
				On = On2;
				Dn = Dn2;
				ofile << "\n" << i << "	";
				ofile << (double)(int)(On*100)/100 << "	";
				ofile << (double)(int)(Dn*100)/100;
			}
		}
		ofile.close();
	}
	file.close();
	system("pause");
	return 0;
}