Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #include<math.h>
- #pragma hdrstop
- #include "Unit1.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma resource "*.dfm"
- TForm1 *Form1;
- double pow( const double a , int k )
- {
- double wynik = a;
- for( int i = 0; i < k; i++ )
- {
- wynik *= a;
- }
- return wynik;
- }
- int silnia(int k)
- {
- int silnia = 1;
- for (int i = 1; i <= k; i++)
- {
- silnia = silnia * i;
- }
- return silnia;
- }
- //---------------------------------------------------------------------------
- __fastcall TForm1::TForm1(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button1Click(TObject *Sender)
- {
- double a , t , p , ps = 1 , po = 0 , pk = 0 , rho , wynik , suma;
- int n , m = 0;
- n = Edit1->Text.ToInt();
- t = Edit2->Text.ToDouble();
- a = Edit3->Text.ToDouble();
- p = Edit4->Text.ToDouble();
- rho = (a*t) / n;
- suma = 0;
- for (int k = 0; k <= n; k++)
- suma = suma + pow(n * rho, k) / silnia(k);
- while (1 - ps<p)
- {
- m = m + 1;
- po = suma + (pow(n, n)*pow(rho, n + 1)*(1 - pow(rho, m))) / (silnia(n)*(1 - rho));
- if( po != 0 && po < 10000000000000000000000000000000000000000000000000000000000000 )
- {
- po = 1 / po;
- }
- ps = po * ((pow(n, n)*pow(rho, n + m))) / silnia(n);
- if(ps == 0 || ps > 1000000000000000000000000000 )
- {
- ps = 0;
- break;
- }
- }
- AnsiString opis;
- opis = "liczba miejsc postojowych = ";
- opis += (AnsiString)m;
- opisM->Caption = opis;
- wynik = 0;
- for (int k = n; k <= n + m - 1; k++)
- {
- pk = (po*pow(n, n)*pow(rho, k)) / silnia(n);
- wynik = wynik + (pk*k*t) / n;
- }
- if( po == 0 || ps == 0 ) wynik = 0;
- else wynik = wynik / (1 - ps);
- opis = "Εredni czas oczekiwania = ";
- opis += wynik;
- opisW1->Caption = opis;
- }
- //---------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement