Dodaj wpis w tym temacie
Spis tematów | Strona: 1 2 ... 6 7 8 ... 18 19 Wyślij wiadomość do admina |
Przewiń wpisy ↓ | C++ od niechcenia |
2018-06-01 (00:48) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 1 170 635 [ CZCIONKA MONOSPACE ] MLRandom, tak na oko wynik powinien pokazać się po 11-tu dniach ciągłego losowania. Za duży obszar co wiąże się z bardzo małym prawdopodobieństwem trafienia. Można to sprawdzić na małej ilości kombinacji. Ja to sprawdziłem na 850 kombinacji (mini lotto to 850668 kombinacji). źródło: //-------------------------- int main() { int a,b,c,d,v=0; UprzypadkowijMT(); do { v++; a = (MersenneTwister() % (850)) +1; //850668 b = (MersenneTwister() % (850)) +1; c = (MersenneTwister() % (850)) +1; } while (a!=470 || b!=324 || c!=689); d = (MersenneTwister() % (850)) +1; cout << endl << v <<". " << a << "," << b << "," << c << "," << d << endl << endl; cout << " Koniec "; getch(); return 0; } --- wpis edytowano 2018-06-01 00:49 --- |
2018-06-01 (10:55) MLRandom Data rejestracji: 2016-01-16 00:00:00 Ilość postów: 553 | wpis nr 1 170 686 [ CZCIONKA MONOSPACE ] Sindbad, DZIĘKI! Nie mogę teraz tego sprawdzić, ale zajmę się tym w weekend. Zmodyfikowanie tego, aby program przesuwał się linia po linii (zakład losowy nr 1 staje się zakładem nr 2, a numerem jeden staje się nowowygenerowany itd) nie powinno być trudne. Chodziło mi o "czterozasadową nić RNA" przesuwającą się po "wielomilionowej nici RNA", szukając właściwego miejsca do doczepienia DZIĘKI. |
2018-06-02 (11:14) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 1 170 854 [ CZCIONKA MONOSPACE ] Hej! Na przykładzie kostki z łańcucha szukana jest sekwencja 146. Łańcuch jest tworzony do momentu trafienia sekwencji. W przykładzie po sekwencji 146 następnym wynikiem jest 6. 63525411145331466 Liczona jest również długość łańcucha (zmienna v). Pełny kod: #include <iostream> #include<conio.h> #include <time.h> // Generator Mersenne Twister // Data : 16.04.2008 // (C)2012 mgr Jerzy Wałaszek //--------------------------- using namespace std; typedef unsigned long long ulong; unsigned int MT[624]; int mti = 0; // Inicjuje MT[] //-------------- void InicjujMT(unsigned int x0) { ulong x; MT[0] = x0; for(int i = 1; i < 623; i++) { x = MT[i-1]; x = (23023 * x) & 0xffffffffull; x = ( 3 * x) & 0xffffffffull; MT[i] = x; } } // Inicjuje MT wartościami losowymi //--------------------------------- void UprzypadkowijMT() { InicjujMT((unsigned int)time(NULL)); } // Generator Mersenne Twister //-------------------------- unsigned int MersenneTwister() { const unsigned int MA[] = {0,0x9908b0df}; long int y; int i1,i397; i1 = mti + 1; if( i1 > 623) i1 = 0; i397 = mti + 397; if(i397 > 623) i397 -= 624; y = (MT[mti] & 0x80000000) | (MT[i1] & 0x7fffffff); MT[mti] = MT[i397] ^ (y >> 1) ^ MA[y & 1]; y = MT[mti]; y ^= y >> 11; y ^= (y << 7) & 0x9d2c5680; y ^= (y << 15) & 0xefc60000; y ^= y >> 18; mti = i1; return y; } //-------------------------- int main() { int a,b,c,d,v = 0; UprzypadkowijMT(); b = (MersenneTwister() % (6)) +1; c = (MersenneTwister() % (6)) +1; d = (MersenneTwister() % (6)) +1; cout << b << c << d; do { v++; a=b; b=c; c=d; d = (MersenneTwister() % (6)) +1; cout <<d; } while (a!=1 || b!=4 || c!=6); cout << endl << endl << v+3 << ". " << d << endl << endl; cout << " Koniec "; getch(); return 0; } |
2018-06-02 (14:24) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 1 170 901 [ CZCIONKA MONOSPACE ] Program do przykładu: http://bit.ly/2Hdc4Yt --- wpis edytowano 2018-06-02 14:28 --- |
2018-06-02 (14:46) MLRandom Data rejestracji: 2016-01-16 00:00:00 Ilość postów: 553 | wpis nr 1 170 907 [ CZCIONKA MONOSPACE ] Sindbad, dzięki. Mam problem ze ściągnięciem cppbuilder6.zip - rwie się, męczę się już godzinę, a mam dopiero połowę. Masz inne źródło niż strona http://miroslawzelent.pl/kurs-obiektowy-c++/borland-c++-builder-okienkowy-hello-world/? |
2018-06-02 (15:18) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 1 170 911 [ CZCIONKA MONOSPACE ] Wrzuciłem go na mój serwer: http://lottopad.pl/Builder6/cppbuilder6.zip Dostępny do 20:00 |
2018-06-02 (15:23) MLRandom Data rejestracji: 2016-01-16 00:00:00 Ilość postów: 553 | wpis nr 1 170 914 [ CZCIONKA MONOSPACE ] Dzięki, ściągnąłem |
2018-06-02 (15:51) MLRandom Data rejestracji: 2016-01-16 00:00:00 Ilość postów: 553 | wpis nr 1 170 915 [ CZCIONKA MONOSPACE ] No tak, teraz muszę się nauczyć obsługi tego programu Wyskakują mi jakieś 3 błędy przy próbie uruchomienia ww. kodu sindbada. Na razie zostawiam, pobawię później. Ale bardzo dziękuję za pomoc. --- wpis edytowano 2018-06-02 15:52 --- |
2018-06-02 (16:05) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 1 170 916 [ CZCIONKA MONOSPACE ] Źródło jest napisane w Code::Blocks 17.12, ale faktycznie to będziemy pisać w builderku (B6) Nie ma to, jak okienka. Teraz pędzę na siatkówkę. Później zmienimy kod na B6 --- wpis edytowano 2018-06-02 16:05 --- |
2018-06-02 (19:06) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 1 170 934 [ CZCIONKA MONOSPACE ] Myślę, że sprawdzimy działanie programu na kostce, a później przejdziemy do MiniLotto. Projekt: http://bit.ly/2LUxixB Kod na C++Builder 6: //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- typedef unsigned long long ulong; unsigned int MT[624]; int mti = 0; // Inicjuje MT[] //-------------- void InicjujMT(unsigned int x0) { ulong x; MT[0] = x0; for(int i = 1; i < 623; i++) { x = MT[i-1]; x = (23023 * x) & 0xffffffffull; x = ( 3 * x) & 0xffffffffull; MT[i] = x; } } // Inicjuje MT wartościami losowymi //--------------------------------- void UprzypadkowijMT() { InicjujMT((unsigned int)time(NULL)); } // Generator Mersenne Twister //-------------------------- unsigned int MersenneTwister() { const unsigned int MA[] = {0,0x9908b0df}; long int y; int i1,i397; i1 = mti + 1; if( i1 > 623) i1 = 0; i397 = mti + 397; if(i397 > 623) i397 -= 624; y = (MT[mti] & 0x80000000) | (MT[i1] & 0x7fffffff); MT[mti] = MT[i397] ^ (y >> 1) ^ MA[y & 1]; y = MT[mti]; y ^= y >> 11; y ^= (y << 7) & 0x9d2c5680; y ^= (y << 15) & 0xefc60000; y ^= y >> 18; mti = i1; return y; } void __fastcall TForm1::Button1Click(TObject *Sender) { int a,b,c,d,v = 0; UprzypadkowijMT(); b = (MersenneTwister() % (6)) +1; //850668 c = (MersenneTwister() % (6)) +1; d = (MersenneTwister() % (6)) +1; Memo1->Clear(); Memo1->Lines->Add(Format("%d", ARRAYOFCONST((b)))); Memo1->Lines->Add(Format("%d", ARRAYOFCONST((c)))); Memo1->Lines->Add(Format("%d", ARRAYOFCONST((d)))); do { v++; a=b; b=c; c=d; d = (MersenneTwister() % (6)) +1; Memo1->Lines->Add(Format("%d", ARRAYOFCONST((d)))); } while (a!=1 || b!=4 || c!=6); Memo1->Lines->Add(Format("%d. %d", ARRAYOFCONST((v+3,d)))); Memo1->Lines->Add("Koniec"); } //--------------------------------------------------------------------------- --- wpis edytowano 2018-06-02 19:15 --- |
2018-06-02 (19:35) MLRandom Data rejestracji: 2016-01-16 00:00:00 Ilość postów: 553 | wpis nr 1 170 936 [ CZCIONKA MONOSPACE ] Wgrałem nowy kod i ... mam taki komunikat: [C++ Error] SzynaML.cpp(6): E2209 Unable to open include file 'Unit1.h' [C++ Error] SzynaML.cpp(12): E2141 Declaration syntax error [C++ Error] SzynaML.cpp(14): E2090 Qualifier 'TForm1' is not a class or namespace name [C++ Error] SzynaML.cpp(14): E2040 Declaration terminated incorrectly [C++ Error] SzynaML.cpp(29): E2451 Undefined symbol 'ulong' [C++ Error] SzynaML.cpp(29): E2379 Statement missing ; [C++ Error] SzynaML.cpp(34): E2451 Undefined symbol 'x' [C++ Error] SzynaML.cpp(69): E2090 Qualifier 'TForm1' is not a class or namespace name [C++ Error] SzynaML.cpp(69): E2040 Declaration terminated incorrectly Zdaje się, że bez zagłębienia się w temat C++ raczej nie ruszę |
2018-06-02 (19:39) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 1 170 937 [ CZCIONKA MONOSPACE ] Zapomniałem dodać przewijanie pionowe w Memo1 Można to zrobić nadając wartość ssVertical. Ja wpisałem to w FormCreate Skopiować i wkleić np. na samym końcu kodu. //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { Memo1->ScrollBars = ssVertical; } //--------------------------------------------------------------------------- |
2018-06-02 (19:43) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 1 170 938 [ CZCIONKA MONOSPACE ] Rozumiem, że piszemy w B6. Bez paniki, bo to są na pewno błahostki. --- wpis edytowano 2018-06-02 19:44 --- |
2018-06-02 (21:52) MLRandom Data rejestracji: 2016-01-16 00:00:00 Ilość postów: 553 | wpis nr 1 170 971 [ CZCIONKA MONOSPACE ] Tak, piszemy w C++Builder 6 Dalej bez zmian, lista błędów nie zmieniła się. Chyba bez edukacji się nie obędzie |
2018-06-02 (22:03) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 1 170 977 [ CZCIONKA MONOSPACE ] Sprawdziłeś, czy mój program działa poprawnie. szukam serii 1,4,6 3 6 4 3 3 3 6 4 2 6 4 6 5 2 4 4 4 4 5 1 6 6 2 1 3 6 3 5 5 1 4 1 6 1+ 4+ 6+ 3= wynik po znalezionej serii --- wpis edytowano 2018-06-02 22:09 --- |
2018-06-02 (22:12) MLRandom Data rejestracji: 2016-01-16 00:00:00 Ilość postów: 553 | wpis nr 1 170 981 [ CZCIONKA MONOSPACE ] Sinddbad, odpalam C++B6, otwiera mi się projekt Unit1.cpp. Czyszczę treść, wklejam Twój kod (powyżej) i doklejam powyższą wstawkę. Uruchamiam "Run" i mam taki komunikat w okienku pod programem: [C++ Error] Unit1.cpp(70): E2316 '_fastcall TForm1::Button1Click(TObject *)' is not a member of 'TForm1' [C++ Error] Unit1.cpp(108): E2316 '_fastcall TForm1::FormCreate(TObject *)' is not a member of 'TForm1' ?? |
2018-06-02 (22:29) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 1 170 985 [ CZCIONKA MONOSPACE ] Wiem, o co chodzi, ale to zostawimy na później. Pobierz sobie projekt: http://bit.ly/2LUxixB Rozpakuj. Kliknij ikonkę Project1 typ BCBProject Testuj. |
2018-06-02 (22:31) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 1 170 987 [ CZCIONKA MONOSPACE ] |
2018-06-03 (02:15) grem10 Data rejestracji: 2018-06-03 00:00:00 Ilość postów: 13 | wpis nr 1 170 999 [ CZCIONKA MONOSPACE ] Witam jestem nowy, ale wcześniej czytałem różne tematy na forum, programowanie dopiero zaczynam poznawać ale ciężko idzie jak na razie. Gdybyście chcieli nowszego Cbuildera to można pobrać z oficjalnej strony Embarcadero, trzeba się tylko zarejestrować, adres: https://www.embarcadero.com/products/cbuilder/starter/free-download, klucz dostajemy na e-mail (trzeba wkleić przy instalacji), kod udało się skompilować, więc działa. Można jakby ktoś potrzebował również Delphi pobrać, ten sam plik ale klucz inny: https://www.embarcadero.com/products/delphi/starter/free-download, ale nie można na tym samym systemie mieć obu naraz w wersji darmowej (Delphi i Cbuildera) ale to nie problem. |
2018-06-03 (11:15) MLRandom Data rejestracji: 2016-01-16 00:00:00 Ilość postów: 553 | wpis nr 1 171 066 [ CZCIONKA MONOSPACE ] Sindbad, idzie jak po grudzie Zrobiłem jak napisałeś i mam błąd: [Linker Fatal Error] Fatal: Unable to open file 'DCLUSR.BPI' Wcześniej pokazał mi się komunikat "Unable to find package input:" i nazwy plików: dclusr.bpi i lndy60.bpi Instalacja C++B6 była pełna (użytkownika - zaznaczone wszystkie elementy). Oj, ciężki kawałek chleba to programowanie w C++ |
| Dodaj wpis w tym temacie | Spis tematów | Wyniki lotto | Strona: 1 2 ... 6 7 8 ... 18 19 Wyślij wiadomość do admina |