Witam,
Staram się zrobić program w którym docelowo wprowadzało by się dwie początkowe wartości np.
A= 1000
B= 2000
następnie wprowadzało by się drugi parametr a właściwie 4 parametry które były by przedziałami
np. przedział dla wartości A= 1-500 i dla wartości B 1-1000 po czym następuje losowanie wartości z tych przedziałów i odejmowanie wylosowanej wartości od wartości bazowej, symulacja taka była by powtarzana powiedzmy 100x po czym wychodziłby wynik który parametr ile razy doszedł pierwszy do wartości 0.
teoretycznie zrobiłem program który dawałby 1 symulację jednak pojawił się pierwszy problem podczas testowania... wyświetlając wylosowaną liczbę nie mogłem się już do niej odwołać gdybym ją chciał odjąć od wartości bazowej bo wtedy następowało kolejne losowanie, jedyne co mi jak dotąd przyszło do głowy to wygenerowanie najpierw losowych liczb i zapisanie ich do tablicy a potem tylko pobieranie tych liczb i wykonywanie operacji na nich, jednak wiąże się to z generowaniem tablicy 100x100 (przy 100 symulacjach które mają być wykonane docelowo) oraz ograniczenie programu do 100 powtórzeń po których kończą się wartości w 1 pierwszej kolumnie czyli pierwsza symulacja a po których niekoniecznie wartość bazowa musi spaść do 0
Aktualnie wygląda to tak, nie jest to dokładnie to o czym pisałem ponieważ na razie testuję różne możliwości w poniższym przykładzie wartość bazowa oraz przedział do losowania są z góry ustalone i są ta wartości w których nie przekroczy się 100 powtórzeń. No i jest tylko 1 wartość zamiast 2.
Random r = new Random();
int[,] ary = new int[99, 99]; // stworzenie tablicy 100x100
//zapelnienie tablicy losowymi wartościami 1-200
for (int i = 0; i < 99; i++)
{
for (int j = 0; j < 99; j++)
ary[i,j] = r.Next(1, 200);
}
// ustawienie wartosci poczatkowych
int wrt1;
wrt1 = 1000;
//pierwsza symulacja
if (wrt1 > 0)
{
for (int j = 0; j < 99; j++)
{
Console.WriteLine("{0} - {1}", wrt1, ary[0, j]);
wrt1 = wrt1 - ary[0, j];
if (wrt1 <= 0)
{
break;
}
}
}
Console.Read();
Zastanawiam się czy jest to jedyna możliwość aby operować wylosowanymi liczbami? czy może jest coś bardziej efektywnego bez konieczności zapisywania wartości do tablic.