Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

loto program

[es] :: Pascal / Delphi / Kylix :: loto program

[ Pregleda: 10772 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

lordy007
Kire Timov
Student
Macedonia, Strumica

Član broj: 154746
Poruke: 35
89.185.194.*



Profil

icon loto program21.08.2007. u 02:40 - pre 202 meseci
zdravo ja sam novi ovde i imam mnogo malo poznavanje od programiranje. Pa hocu da napravim neki program koju ce generise sve mozne kombinace od set [1..37] od 7 elementi (normalno za loto 7/37) pa moji prijatel je zahtevao od mene da naprvaim program koja ce generise sve mozne kombinacije i da gi snima vo text fajl. no ima i drugi zadatak. Od sve tih kombinacija treba da se odelat sve mozni kombinacija u razlicitih text falovima sa 3:4 4:3 5:2 2:5 (paren:neparen)
pr.1. da bi u text1 biti generisani svi kombinacija sa 3:4(paren:neparen) odnos
1,6,2,3,7,9,8
1,6,2,3,7,11,8
i tako dajle
pa znaci meni treba program sta ce generise u razlicitih text fajlovima razlicitih kombinacija sa 37 broja od 7 broja.
text: sve moznih kombinacijama
text1: 3:4 (paren:neparen)
text2: 4:3(paren:neparen)
text3: 5:2(paren:neparen)
text4: 2:5(paren:neparen)

sve je dobrodojdeno svi soveti i mislenja posto ja ne znam ni kao da pocnem :) hvala puno

[Ovu poruku je menjao lordy007 dana 21.08.2007. u 03:54 GMT+1]

[Ovu poruku je menjao lordy007 dana 21.08.2007. u 04:19 GMT+1]
Rogues do it from behind! :)
 
Odgovor na temu

viking13
Aleksandar Milanovic
SBB
Novi Beograd

Član broj: 131741
Poruke: 190
*.sbb.co.yu.



Profil

icon Re: loto program21.08.2007. u 09:45 - pre 202 meseci
Citat:
lordy007: Pa hocu da napravim neki program koju ce generise sve mozne kombinace od set [1..37] od 7 elementi (normalno za loto 7/37)
...
sve je dobrodojdeno svi soveti i mislenja posto ja ne znam ni kao da pocnem :) hvala puno


Ima previše kombinacija da bi imalo smisla generisati svaku moguću i zapisati je u fajl. Čak i da to uradiš, ostaje pitanje na osnovu čega će tvoj prijatelj da izabere onu koju će da odigra?

Po meni je najbolje rešenje da mu program da onoliko kombinacija koliko mu treba po njegovim uslovima.

Iako dodatni uslovi deluju u početku pomalo komplikovano, stvar je u suštini veoma jednostavna.

Svi znamo kako izgleda izvlačenje brojeva. Prvo se izmešaju loptice, pa se izvuče 7 komada. :)

Primeni istu stvar na svoj program.

1. Izmešaš niz brojeva od 1 do 37
2. Uzmeš prvih 7 i zapišeš u fajl
3. Uzmeš prva 4 parna, zatim prva 3 neparna i zapišeš u drugi fajl
4. Uzmeš prva 3 parna, zatim prva 4 neparna i zapišeš u treći fajl
5. Uzmeš prvih 5 parnih, zatim prva 2 neparna i zapišeš u četvrti fajl
6. Uzmeš prva 2 parna, zatim prvih 5 neparnih i zapišeš u peti fajl
7. Ponoviš postupak od 1 do 6 onoliko puta koliko mu kombinacija treba

Što se tiče prvog koraka možda nabolje da kreneš sa procedurom Izmesaj_niz koju je Mijo napisao u ovoj poruci http://www.elitesecurity.org/t278642-0#1673727

viking ®
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
195.252.119.*



+2789 Profil

icon Re: loto program21.08.2007. u 09:46 - pre 202 meseci
Da vidimo koliko slogova treba da ima svaki od tih fajlova

0:7 - 50,388
1:6 - 488,376
2:5 - 1,779,084
3:4 - 3,162,816
4:3 - 2,965,140
5:2 - 1,465,128
6:1 - 352,716
7:0 - 31,824

Ukupno 10,295,472

Da li i dalje želiš da ispisuješ sve te silne kombinacije?
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

viking13
Aleksandar Milanovic
SBB
Novi Beograd

Član broj: 131741
Poruke: 190
*.sbb.co.yu.



Profil

icon Re: loto program21.08.2007. u 09:51 - pre 202 meseci
Citat:
Nedeljko: Da vidimo koliko slogova treba da ima svaki od tih fajlova

0:7 - 50,388
1:6 - 488,376
2:5 - 1,779,084
3:4 - 3,162,816
4:3 - 2,965,140
5:2 - 1,465,128
6:1 - 352,716
7:0 - 31,824

Ukupno 10,295,472

Da li i dalje želiš da ispisuješ sve te silne kombinacije?


Kombinatorika mi nikad nije bila jača strana, tako da ne znam da li su brojke tačne, ali se u potpunosti slažem sa tobom da je totalno bespotrebno to raditi.

Odmah sam se setio scene iz filma "Potera za Srećkom" gde Mićko drži par hiljada listića i kaže novinarki: "Nema ako dobijem, nego kad dobijem." :)

Mislim da je mnogo bolje da mu svaki put program da onoliko kombinacija koliko mu treba po njegovim uslovima.
viking ®
 
Odgovor na temu

lordy007
Kire Timov
Student
Macedonia, Strumica

Član broj: 154746
Poruke: 35
89.185.194.*



Profil

icon Re: loto program21.08.2007. u 12:39 - pre 202 meseci
jeste 10295472 kombinacije :) znam da je mnogo i jos zelim da napravim taj program...filozofija mog prijatelja je 80% i vise od tih parni neparni kombinacija se izvlekuje u loto...do dusa ja ne ni igram loto :) li jeste seusete zelim da napravim taj program.... :)
Citat:
Njedelko ucekujem vishe...


[Ovu poruku je menjao lordy007 dana 21.08.2007. u 23:56 GMT+1]
Rogues do it from behind! :)
 
Odgovor na temu

lordy007
Kire Timov
Student
Macedonia, Strumica

Član broj: 154746
Poruke: 35
89.185.194.*



Profil

icon Re: loto program21.08.2007. u 22:58 - pre 202 meseci
Citat:
Što se tiče prvog koraka možda nabolje da kreneš sa procedurom Izmesaj_niz koju je Mijo napisao u ovoj poruci http://www.elitesecurity.org/t278642-0#1673727

to mi ne treba meni samo treba da izgenerisem teh kombinacija u text fajlovima i nista druge :) hvala ipak
Rogues do it from behind! :)
 
Odgovor na temu

TraktoRISTA Mijo

Član broj: 154529
Poruke: 25
*.net.t-com.hr.



Profil

icon Re: loto program22.08.2007. u 06:01 - pre 202 meseci
e aj kas navalio;)..eo koda,nadam se da imaš Pascal,kompajliraj i piči!ak ne,mogu ja stavit i exe..


Code:

program Project2;

type niz=array[0..7]of integer;

  var
  kom:array[1..2]of niz;
  f1,f2,f3,f4:textfile;

  function omjer(p,np:integer;n:niz):boolean;
  var
  i,a,b:integer;
  begin
  a:=0; b:=0;
    for i:=1 to 7 do if (n[i] mod 2) = 0 then inc(a) else inc(b);
    if (a=p)and(b=np)then omjer:=true else omjer:=false;
  end;

  procedure prepisi;
  var
  i:integer;
  s,s1:string;
  begin

    for i:=1 to 7 do begin str(kom[2,i],s1); s:=s+s1+' ';end;

    if omjer(3,4,kom[2])then writeln(f1,s)
    else if omjer(4,3,kom[2])then writeln(f2,s)
    else if omjer(5,2,kom[2])then writeln(f3,s)
    else if omjer(2,5,kom[2])then writeln(f4,s) ;

  end;

  procedure generiraj(n,k:integer);
  var
  j,t:integer;
  begin
  kom[1,0]:=-1;
    for j:=1 to k do kom[1,j]:=j;
  t:=1;

    while t<>0 do
      begin
        for j:=0 to k do kom[2,j]:=kom[1,j];
      t:=k;
        while kom[2,t]=n-k+t do dec(t);
      kom[2,t]:=kom[2,t]+1;
        for j:=t+1 to k do kom[2,j]:=kom[2,j-1]+1;
      prepisi;
      kom[1]:=kom[2];
      end;

  end;

begin
assign(f1,'text1.txt');
assign(f2,'text2.txt');
assign(f3,'text3.txt');
assign(f4,'text4.txt');
rewrite(f1);
rewrite(f2);
rewrite(f3);
rewrite(f4);

generiraj(37,7);

close(f1);
close(f2);
close(f3);
close(f4);

readln;
end.


et,puno sreće tebi i tvom drugaru ;)..mada ne znam kak će ti ovo pomoć..

a što se tiče algoritma,za one koje zanima:
generiraju se kombinacije u leksikografskom poretku
dakle krenemo od prve kombinacije 1..k(kod nas je to od 1..7) i u svakom koraku radimo sljedeće:
krenemo od desna na ljevo u kombinaciji i tražimo prvi broj za kojeg nevrjedi n-k+p=kom[p],jer je maximalna vrijednost za broj na p-tom mjestu
n-k+p(npr za n=5,k=3 zadnja kombinacija sa max vrijednostima je 345,za p=2 max broj je 4)
kad ga nađemo,uvećamo ga za jedan,a brojevi koji su desno od njega su redom za jedan veći od prethodnika
ispišemo drugi red,i onda ga prekopiramo u prvi red matrice s kojom radimo
npr. n=6,k=4
poč.komb
1234
prvi broj od desna
4
uvećamo za 1
5
dalje nema brojeva,kombinacija
1235
...
2356
prvi broj
3
uvećamo
4
svi sljedeći brojevi desno
4+1=5,5+1=6
kombinacija
2456

inače,postoji mali bugić:prva kombinacija će biti ispisana zadnja,lako se da sredit,al to i nije tako bitno..to je iz razloga što koristimo matricu sa sam dva reda,umjesto sa nk(broj kombinacija)redova,što bi u ovom slučaju zauzelo puno memorije

ipak,smatram da pogađanjem kombinacija nebi daleko stigli..jer nama netreba jedna slučajna,već sve kombinacije..al valjalo bi probat
pozz
 
Odgovor na temu

lordy007
Kire Timov
Student
Macedonia, Strumica

Član broj: 154746
Poruke: 35
89.185.194.*



Profil

icon Re: loto program22.08.2007. u 14:13 - pre 202 meseci
druze hvala puno :) ovo cu da kompajliram u delphi!THANKS ALOT ;)
Rogues do it from behind! :)
 
Odgovor na temu

lordy007
Kire Timov
Student
Macedonia, Strumica

Član broj: 154746
Poruke: 35
89.185.194.*



Profil

icon Re: loto program23.08.2007. u 01:19 - pre 202 meseci
nemogu to prevediti u delphi ..jer ne znam neke osnovni funkcii pascala mozes li mi pomoci nesto oko toga?
Rogues do it from behind! :)
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.ADSL.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: loto program23.08.2007. u 05:38 - pre 202 meseci
Umesto
Code:

assign(f1,'text1.txt');
assign(f2,'text2.txt');
assign(f3,'text3.txt');
assign(f4,'text4.txt');
rewrite(f1);
rewrite(f2);
rewrite(f3);
rewrite(f4);

generiraj(37,7);

close(f1);
close(f2);
close(f3);
close(f4);

readln;

Stavi:
Code:

rewrite(f1,'text1.txt');
rewrite(f2,'text2.txt');
rewrite(f3,'text3.txt');
rewrite(f4,'text4.txt');

generiraj(37,7);

closefile(f1);
closefile(f2);
closefile(f3);
closefile(f4);

"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

Nemanja_666
Nemanja Tatic
Gradiska

Član broj: 116292
Poruke: 221
217.23.204.*



+19 Profil

icon Re: loto program23.08.2007. u 08:02 - pre 202 meseci
netrebas nista mjenjati samo ispod program stavi {$APPTYPE CONSOLE}
 
Odgovor na temu

TraktoRISTA Mijo

Član broj: 154529
Poruke: 25
*.net.t-com.hr.



Profil

icon Re: loto program23.08.2007. u 23:49 - pre 202 meseci
treba i u uses list stavit SySUtils:
Code:

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type niz=array[0..7]of integer;

  var
  kom:array[1..2]of niz;
  f1,f2,f3,f4:textfile;

  function omjer(p,np:integer;n:niz):boolean;
  var
  i,a,b:integer;
  begin
  a:=0; b:=0;
    for i:=1 to 7 do if (n[i] mod 2) = 0 then inc(a) else inc(b);
    if (a=p)and(b=np)then omjer:=true else omjer:=false;
  end;

  procedure prepisi;
  var
  i:integer;
  s,s1:string;
  begin

    for i:=1 to 7 do begin str(kom[2,i],s1); s:=s+s1+' ';end;

    if omjer(3,4,kom[2])then writeln(f1,s)
    else if omjer(4,3,kom[2])then writeln(f2,s)
    else if omjer(5,2,kom[2])then writeln(f3,s)
    else if omjer(2,5,kom[2])then writeln(f4,s) ;

  end;

  procedure generiraj(n,k:integer);
  var
  j,t:integer;
  begin
  kom[1,0]:=-1;
    for j:=1 to k do kom[1,j]:=j;
  t:=1;

    while t<>0 do
      begin
        for j:=0 to k do kom[2,j]:=kom[1,j];
      t:=k;
        while kom[2,t]=n-k+t do dec(t);
      kom[2,t]:=kom[2,t]+1;
        for j:=t+1 to k do kom[2,j]:=kom[2,j-1]+1;
      prepisi;
      kom[1]:=kom[2];
      end;

  end;

begin
assign(f1,'text1.txt');
assign(f2,'text2.txt');
assign(f3,'text3.txt');
assign(f4,'text4.txt');
rewrite(f1);
rewrite(f2);
rewrite(f3);
rewrite(f4);

generiraj(37,7);

close(f1);
close(f2);
close(f3);
close(f4);

readln;
end.

ideš file/new/other../console application, prekopiraš ovo i to je to
 
Odgovor na temu

lordy007
Kire Timov
Student
Macedonia, Strumica

Član broj: 154746
Poruke: 35
89.185.194.*



Profil

icon Re: loto program25.08.2007. u 05:26 - pre 202 meseci
puno hvala radi sovrseno! a toliko jednostavno :)
Rogues do it from behind! :)
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: loto program

[ Pregleda: 10772 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.