begin process at 2010 02 10 09:43:36
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths

 > MA PETITE COMBINE

MA PETITE COMBINE


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths Classé sous :math, combinaison, algorithme, stringgrid, memo Niveau :Initié Date de création :03/08/2008 Date de mise à jour :03/08/2008 22:45:28 Vu / téléchargé :5 546 / 317

Auteur : cantador

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bonjour à tous,

Suite à question posée sur le forum par Frank_klein
(http://www.delphifr.com/infomsg_COMME NT-CALCULER-COMBINAISON_1181081.aspx#17)

Florenth  dont les neurones nous étaient revenus en forme et gorgés de soleil m'a pris de vitesse
et a déposé une excellente source sur les liste, arrangements et combinaisons sous le regard du mathématicien.

Moi, j'ai pris mon temps..et j'ai fait la même chose mais sous l'oeil du joueur..

Autrement dit, j'ai laissé tomber les deux premières parties et
me suis attaché à créer la dernière de manière ergonomique.

Il n'y a pas grand chose d'autre à dire sinon que bien sûr, il reste de nombreuses optimisations à réaliser
mais l'objectif ici n'était pas de faire du turbo, mais de donner les bonnes combinaisons de manière agréable.

Evidemment, je rejoins florenth pour dire aussi, que ce programme ne sert pas à grand chose

car vous vous rendrez compte facilement que si on veut jouer les champs complets,
on a vite des problèmes de financement !

Cantador



 Conclusion

bon jeu quand même !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

03 août 2008 22:35:02 :
Limitation dans le nombre de numéros sinon ça rame de trop..et mise en place d'un sablier. Correction de la libération de la mémoire?
03 août 2008 22:45:28 :
Suppression de la limite car elle perturbe le programme..

 Sources du même auteur

Source avec Zip Source avec une capture LIER DEUX TDBGRID
Source avec Zip Source avec une capture SIMPLEWEBBROWSER
Source avec Zip Source avec une capture AVATARS IN MADNESS
Source avec Zip Source avec une capture BACKUP RESTORE FIREBIRD OU INTERBASE
Source avec Zip Source avec une capture BONNE ANNEE !

 Sources de la même categorie

Source avec Zip Source avec une capture CONVERTISSEUR D'UN NOMBRE DÉCIMAL EN BINAIRE ET HEXADECIMAL par ludokk
Source avec Zip Source avec une capture PREMIER OU PAS? par ludokk
Source avec Zip Source avec une capture CONJECTURE DU CARRÉ DES FACTEURS par Bacterius
Source avec Zip Source avec une capture GÉNÉRATEUR DE NOMBRES PSEUDO-ALÉATOIRES par Bacterius
Source avec Zip Source avec une capture ALGORITHME DE HASH LEA par Bacterius

 Sources en rapport avec celle ci

Source avec Zip COMBINAISONS DE STRINGS par askil2000
Source avec Zip Source avec une capture TQGRID UN STRINGGRID AMÉLIORER. par yanb
Source avec Zip Source avec une capture LEA EN MODE CHIFFREMENT (SEA) par Bacterius
Source avec Zip PGCD - ALGORITHME D'EUCLIDE par charlyb29
Source avec Zip Source avec une capture UN PETIT JEU DE SUDOKU par jace1975

Commentaires et avis

Commentaire de cantador le 04/08/2008 13:36:06

Merci florenth poour ce sympathique commentaire.
Les performances doivent être sensiblement les mêmes et deviennent franchement dures aux approches de 20..
ce qui est normal..
Dans ce cas, et on veut vraiment obtenir les combins par exemple
de 6 parmi 25, il est préférable d'écrire un programme spécifique
en dur de boucles imbriquées et là le temps est très correct.

Quant aux champs réduits (ah ah !)
ça c'est une autre histoire..

Commentaire de kopierreko le 29/10/2008 17:30:06

Juste un truc:
Si on sélectionne toutes les cases le log plante :)

Commentaire de cantador le 29/10/2008 19:04:09

non il ne plante pas, il suffoque..
car factorielle 100, il aime pas du tout...

Commentaire de kopierreko le 29/10/2008 19:15:56 10/10

ça se comprend ^^

Commentaire de ludodelphi le 30/10/2008 12:23:26

bonjour,
J'avais en tete un calcul quasi instantanné des combinaisons sur mon vieux PC 1Ghz pour les 14 Millions de combin du fameux 6 parmi 49 (loto)
En regardant la source, j'ai compris pourquoi le programme rame à mourir :
Comme en Matlab, Florenth passe son temps à allouer de la mémoire
Une modif de 2-3 lignes (déplacement allocation mémoire hors de la boucle principale) rend le calcul de combinaisons instantanné. (c'est encore largement optimisable en sortant la deuxieme allocxation mémoire : mais c'est plus compliqué)
Il reste le temps d'affichage qui devient prépondérant...
J'ai mis la nouvelle source à peine modifiée à disposition sous mon nom ;-)

LudoDelphi

Commentaire de cantador le 30/10/2008 14:57:38

@ludodelphi :

pour les combins du LOTO : 1 minute !

procedure TForm1.Button1Click(Sender: TObject);
var
  i, j, k, l, m, n, nob, cpt: integer;
  sl: TStringList;
begin
  try
    Screen.Cursor := CrHourGlass;
    cpt := 0;
    nob := 49;
    sl := TStringList.Create;
    for i := 1 to nob do
      for j := i to nob do
        for k := j to nob do
          for l := k to nob do
            for m := l to nob do
              for n := m to nob do
                if ((i <> j) and (i <> k) and (i <> l) and (i <> m) and (i <> n))
                  and ((j <> i) and (j <> k) and (j <> l) and (j <> m) and (j <> n))
                  and ((k <> i) and (k <> j) and (k <> l) and (k <> m) and (k <> n))
                  and ((l <> i) and (l <> j) and (l <> k) and (l <> m) and (l <> n))
                  and ((m <> i) and (m <> j) and (m <> k) and (m <> l) and (m <> n)) then
                begin
                  inc(cpt);
                  sl.Add(IntToStr(i) + ';' + IntToStr(j) + ';' + IntToStr(k) + ';' +
                    IntToStr(l) + ';' + IntToStr(m) + ';' + IntToStr(n));
                end
                else
                  continue;
  finally
    Screen.Cursor := CrDefault;
    sl.Free;
    showMessage(IntToStr(cpt));
  end;
end;
tu peux les récupérer avant le sl.free par sl.SaveToFile

mais il me semble avoir fait mieux mais je ne trouve plus mon code..

cantador

Commentaire de ludodelphi le 31/10/2008 14:03:59

On me défie !
J'ai ajouté une version simple à moi "CombinSimple"
On réalise les 14 M(millions) de combine du loto en... Mégarapide !
(essaye, tu me dira)

Elle est récursive, donc encore optimisable, mais me suffit pour mes besoins
... et je suis content de sa rédaction ;-)

++ Ludodelphi

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

StringGrid vers memo [ par shadow578 ] Salut internaute, Alors voilà me voici avec un nouveau soucis. Dans un premier temps j'ai un stringgrid qui li dans un fichier text, j'ai fait un scri Afficher mess dans memo par le StringGrid [ par shadow578 ] Hello Alors voilà mon probléme du jour: J'ai un stringGrid qui affiche des informations Et je voudrais mettre un memo en dessous. Quand par exemple ondelette et algorithme genetique [ par mejdachihaoui ] Bonjour comment je peux extraire les coefficients des ondelettes puis les modifier Evènement onDrawCell d'un StringGrid [ par madcap ] Bonjour tous le monde, J'ai créé un panel qui contient différents éléments, StringGrid, boutons, label, etc... Ce panel je le crée à l'exécution, il tMemo & tRichedit de m... (pardon) [ par solilog ] Bonsoir, je sors du post anglais. Je tente de bosser avec des tMemo / tRichEdit, et c'est d'une lenteur ... au secours. Je dois me planter, c'est pas Scroller dans un stringgrid pour afficher la ligne recherchée (contenu de la 1ère cellule) [ par PhilLU ] Salut, Je souhaite faire afficher (scroller) une ligne recherchée dans un stringgrid, par exemple sur base du contenu de la première cellule) Je tourn Delphi 3 [ par kkasiekk ] Hi All I looking for solution How to remove from memo a part of strings It looks like below: xxx*vvvvvvvvvvvvvvvvvvvvvvv xxx*ddddddddddddddddddddddd champ memo dans oracle [ par unescorpionne ] bonjour ! j'ai un champ de type MEMO dans une base interbase et je voudrai le chargé dans une base oracle sans succée y'a t'il une solution ? merci algorithme genetique code source [ par nana ] je cherche le code source et le programme d'un algorithme génétique pour le problème de TSP ( de préférence en pascal, delphi, fortran sinon autres la Taille d'un stringgrid [ par padsou ] Salut! J'ai besoin de réduire un stringgrid automatiquement. En fait j'incrémente par programmation le nombre de cases selon le volume des information


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales