Forum strony www.multipasko.pl [Regulamin]


Dodaj wpis w tym temacie
Spis tematów
Login:

Hasło:
Strona: 1 2 ... 6 7 8 ... 18 19
Wyślij wiadomość do admina

Przewiń wpisy ↓

C++ od niechcenia

2018-06-01 (00:48)

status sindbad
Data rejestracji: 2008-10-13 00:00:00
Ilość postów: 20519

3794
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)

status MLRandom
Data rejestracji: 2016-01-16 00:00:00
Ilość postów: 553

14699
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)

status sindbad
Data rejestracji: 2008-10-13 00:00:00
Ilość postów: 20519

3794
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)

status sindbad
Data rejestracji: 2008-10-13 00:00:00
Ilość postów: 20519

3794
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)

status MLRandom
Data rejestracji: 2016-01-16 00:00:00
Ilość postów: 553

14699
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)

status sindbad
Data rejestracji: 2008-10-13 00:00:00
Ilość postów: 20519

3794
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)

status MLRandom
Data rejestracji: 2016-01-16 00:00:00
Ilość postów: 553

14699
wpis nr 1 170 914
[ CZCIONKA MONOSPACE ]

Dzięki, ściągnąłem
2018-06-02 (15:51)

status MLRandom
Data rejestracji: 2016-01-16 00:00:00
Ilość postów: 553

14699
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)

status sindbad
Data rejestracji: 2008-10-13 00:00:00
Ilość postów: 20519

3794
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)

status sindbad
Data rejestracji: 2008-10-13 00:00:00
Ilość postów: 20519

3794
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)

status MLRandom
Data rejestracji: 2016-01-16 00:00:00
Ilość postów: 553

14699
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)

status sindbad
Data rejestracji: 2008-10-13 00:00:00
Ilość postów: 20519

3794
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)

status sindbad
Data rejestracji: 2008-10-13 00:00:00
Ilość postów: 20519

3794
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)

status MLRandom
Data rejestracji: 2016-01-16 00:00:00
Ilość postów: 553

14699
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)

status sindbad
Data rejestracji: 2008-10-13 00:00:00
Ilość postów: 20519

3794
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)

status MLRandom
Data rejestracji: 2016-01-16 00:00:00
Ilość postów: 553

14699
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)

status sindbad
Data rejestracji: 2008-10-13 00:00:00
Ilość postów: 20519

3794
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)

status sindbad
Data rejestracji: 2008-10-13 00:00:00
Ilość postów: 20519

3794
wpis nr 1 170 987
[ CZCIONKA MONOSPACE ]

2018-06-03 (02:15)

status grem10
Data rejestracji: 2018-06-03 00:00:00
Ilość postów: 13

15716
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)

status MLRandom
Data rejestracji: 2016-01-16 00:00:00
Ilość postów: 553

14699
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 lottoStrona: 1 2 ... 6 7 8 ... 18 19
Wyślij wiadomość do admina