public static void Main(string[] args) { var test = new int [6]; LosowanieMetdaGlowna.LosowanieLiczb(test); foreach (var liczba in test) { Console.WriteLine(liczba + ", "); } }
static void Main(string[] args) { int[] losowanie = new int[6]; LosowanieMetdaGlowna.LosowanieLiczb(losowanie); ArrayList listaLosowan = new ArrayList(); ArrayList duplikatListyLosowan = new ArrayList(); var czasStart = DateTime.Now; Console.WriteLine("Start aplikacji: " + czasStart); #region Wyswietlanie_na_ekranie_pierwszego_losowania ////do usuniecia //for (int i = 0; i < (losowanie.Length); i++) //{ // Console.WriteLine("{0}: {1} ", i + 1, string.Join(", ", losowanie[i])); // //Console.WriteLine("{0}: {1} ({2:p1})", i + 1, losowanie[i], (double)results[i] / (double)totalRolls); //} //foreach (var VARIABLE in losowanie) //{ // var i = 0; // losowanieJakoTablica[i] = VARIABLE; // i++; //} #endregion IloscLosowanNaListe(losowanie, listaLosowan, duplikatListyLosowan, out var i); Console.WriteLine("Koniec obliczen: " + (DateTime.Now - czasStart) + " sekund"); #region Wypisz_wszystkie_wyniki_losowania ////to pozwala wypisac wszystkie wyniki //Console.WriteLine("-------"); //foreach (int[] losowanieIteracja in listaLosowan) //{ // foreach (var liczba in losowanieIteracja) // { // Console.Write(liczba + ", "); // } // Console.WriteLine(); //} #endregion #region Testowanie czy funkcja 'distinct' działa. Jest OK! //var dodawanie = new int[6] { 5, 6, 7, 8, 9, 10 }; //listaLosowan.RemoveRange(66, 4); //listaLosowan.Add(dodawanie); //listaLosowan.Add(dodawanie); //test = listaLosowan.ToArray().Distinct(); //var test2 = test.Count(); //var test3 = listaLosowan.Count; #endregion #region Testowanie czy porównanie długości ma w ogóle sens //var testCzyLista = test.ToList().Count; //var testDlugosciInnejListy = listaLosowan.Count; //if (testCzyLista == testDlugosciInnejListy) //{ // Console.WriteLine("Długośc jest taka sama!"); //} //else //{ // Console.WriteLine("Długość się nie zgadza!"); //} #endregion #region Sprawdzanie czy 'Distinct' robi swoją robotę - niepotrzebne już. Mam inne metody. //IEnumerable<object> test = new List<object>(); //test = listaLosowan.ToArray().Distinct(); //var dlugoscListyTest = test.Count(); //var dlugoscListyLosowan = listaLosowan.Count; //if (dlugoscListyTest != dlugoscListyLosowan) //{ // Console.WriteLine("jest roznica!!!"); //} #endregion var liczknikDuplikat = 0; var listaPowtorzonuchLosowan = new ArrayList(); var licznikPetli = 0; var czasWykonywanaPetli = DateTime.Now; SzukanieDuplikatowLosowan(listaLosowan, licznikPetli, czasWykonywanaPetli, duplikatListyLosowan, listaPowtorzonuchLosowan, liczknikDuplikat); Console.WriteLine("Czas wykonania calosci programu: " + (DateTime.Now - czasStart)); }
private static void IloscLosowanNaListe(int[] losowanie, ArrayList listaLosowan, ArrayList duplikatListyLosowan, out int i) { //var duplikatListyLosowan = new ArrayList(); for (i = 0; i < 14000000; i++) { LosowanieMetdaGlowna.LosowanieLiczb(losowanie); var test1 = losowanie.AsEnumerable().ToArray(); listaLosowan.Add(test1); LosowanieMetdaGlowna.LosowanieLiczb(losowanie); var test2 = losowanie.AsEnumerable().ToArray(); duplikatListyLosowan.Add(test2); //LosowanieMetdaGlowna.LosowanieLiczb(losowanie); var rozne = losowanie.Distinct(); //do uniemozliwienia istnienia duplikatow w losowaniu var iloscElementowRozne = rozne.ToArray().Length; var iloscElementowLosowanie = losowanie.Length; if (iloscElementowRozne == iloscElementowLosowanie) { switch (i) { case 50000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 100000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 150000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 250000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 500000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 750000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 900000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 1250000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 1750000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 2500000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 3500000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 5000000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 7500000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 9000000: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 11111111: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 12222222: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 13333333: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; case 14444444: Console.WriteLine("Przeprowadziłem już {0} losowań!", i); break; } } else { Console.WriteLine("Znalazłem zduplikowane liczby w losowaniu - losuję jeszcze raz."); listaLosowan.RemoveAt(i); i--; } } //skoro mam dwie osobno generowane listy, to poniższe jest nieaktualne... //if (listaLosowan.Equals(duplikatListyLosowan)) //{ // Console.WriteLine("listy są identyczne"); //} }