Accueil > Forum > > > > Comment calculer des combinaison
Comment calculer des combinaison
jeudi 31 juillet 2008 à 12:15:48 |
Comment calculer des combinaison

Frank_klein
|
Bonjour, J'ai cherché sur le forum des exemples sur le calcul des combianaisons, mias sans succès, sur Google aussi, je n'ai trouvé que des exemples en visual basic, est il possible de faire des calculs de combinasion avec delphi, je conais la formule mathematique mais je n'arrive pas à l'appliquer dans le code. Si quelqu'un a une idée, je le remerci d'avance. @+
|
|
jeudi 31 juillet 2008 à 13:19:55 |
Re : Comment calculer des combinaison
|
jeudi 31 juillet 2008 à 19:39:52 |
Re : Comment calculer des combinaison
|
jeudi 31 juillet 2008 à 20:21:56 |
Re : Comment calculer des combinaison

Oniria
|
Bonjour,
moi, j'ai fait un petit programme plus universel que voici:
unit test_choix;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Memo1: TMemo; Button1: TButton; Button2: TButton; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
var nombre : integer; tb,compt: array[0..10] of integer;
Function Choix(n,nb : integer): string; var i,j,sortir,chiffre0 : integer; texte : string; begin texte:=''; chiffre0:=ord('0'); for i:=0 to n-1 do tb[i]:=0; // On efface la réservation de la case if nb=0 then begin // Si nb=0, on veut commencer au début for i:=0 to n-2 do compt[i]:=0; // On choisit la première solution end else begin // nb<>0, on continu depuis la dernière valeur //On ajoute 1 au compteur j:=n-2; sortir:=0; repeat // Gestion de l'addition du compteur compt[j]:=compt[j]+1; if compt[j]>(n-1-j) then begin compt[j]:=0; j:=j-1; end else sortir:=1; until (j<0) or (sortir=1); end; // Sélection des nombres pour la sortie for i:=0 to n-2 do begin j:=0; sortir:=0; repeat if Tb[j]=0 then sortir:=sortir+1; j:=j+1; until (sortir-1)=compt[i]; // j-1 est le nombre choisit texte:=texte+chr(chiffre0+j); tb[j-1]:=1; // le chiffre à été choisit donc il ne sera plus repris end; // On vient de choisir les n-1 termes // On doit maintenant rechercher le seul qui n'a pas été utilisé i:=0; sortir:=0; repeat if tb[i]=0 then begin texte:=texte+chr(chiffre0+i+1); sortir:=1; end else i:=i+1; until sortir=1; Choix:=texte; end;
procedure TForm1.Button2Click(Sender: TObject); begin Form1.Close; end;
procedure TForm1.Button1Click(Sender: TObject); var txt,txt1 : string; begin nombre:=strToint(Form1.Edit1.Text); txt:=Choix(nombre,0); Form1.Memo1.Lines.Add(txt); repeat txt1:=choix(nombre,1); if txt1<>'' then Form1.Memo1.Lines.Add(txt1); until (txt=txt1) or (txt1=''); // Form1.Memo1.Lines.Add('Terminé'); end;
end.
Voila , si ca peut t'aider .
Oniria
|
|
jeudi 31 juillet 2008 à 21:16:34 |
Re : Comment calculer des combinaison

Frank_klein
|
je vais essayer de les adapter, je vous tiendrais au courant, merci 
|
|
jeudi 31 juillet 2008 à 21:27:22 |
Re : Comment calculer des combinaison

cantador
|
@ Oniria: ton code fonctionne, mais il ne donne pas les combinaisons de x éléments parmi n éléments mais : Les arrangements de X éléments, ce qui est différent.. impec pour jouer au tiercé ! cantador 
|
|
jeudi 31 juillet 2008 à 21:35:27 |
Re : Comment calculer des combinaison

Oniria
|
Bonjour,
je crois que je vais devoir retourner à l'école :) Moi et les stats, j'ai vraiment du mal à comprendre. Mais bon quand j'ai fait ce code, j'avais besoin d'un système qui me donne toutes les solutions uniques avec X éléments possibles sans savoir que c'était des combinaisons ou arrangement ou autres...
Désolé, si j'ai confondu les deux. Mais bon si ça peut servir.
Oniria
|
|
jeudi 31 juillet 2008 à 21:50:04 |
Re : Comment calculer des combinaison
|
jeudi 31 juillet 2008 à 23:27:31 |
Re : Comment calculer des combinaison

Caribensila
|
Moi, je suis comme Oniria. J'ai toujours eu des difficultés avec ces trucs. :)))
La prochaine fois qu'on en aura besoin, on demandera à Cantador... 
|
|
vendredi 1 août 2008 à 09:09:30 |
Re : Comment calculer des combinaison
|
Cette discussion est classée dans : exemples, calculer, combinaison
Répondre à ce message
Sujets en rapport avec ce message
calculer le temps [ par bouiboui ]
Je cherche un moyen de calculer le temps d'exécution d'une procedure en delphi, existe-t-il une fonction permettant de le faire ?(Un Timer est dispo d
Calculer le crc d'un fichier [ par zorg63 ]
Salut!Je voudrais savoir comment calculer le crc d'un fichier pour le comparer à une base de donnees. Comment ce calcul s'effectue-t-il?Merci d'avance
Cherche exemples [ par jbob ]
Bonsoir,Je voudrais me lancer dans laprogrammation de bases de données avec Mysql et delphi.Où pourrais-je trouver des exemples qui m'aiderait forteme
Calculer la bande passante [ par Kane ]
Comment peux t'on mesurer la bande passante de sa connection internet ?Merci bicoup !
Calculer la bande passante [ par Kane ]
Savez comment je peux calculer la bande passante de mon PC ?Pouvez vous m'aider ?Merci
Combinaison de touches vers fonction ou procédure ? [ par japee ]
Quelqu'un peut-il me rappeler la combinaison de touches qui nous amène, dans l'éditeur de code, à partir de l'appel d'une fonction ou d'une procédure,
Mettre à jour une DBGrid1 avec DBGrid2 [ par vdefer ]
Je recherche des exemples pour faire une mise à jour d'une DBGrid à une autre, je sais que l'on utilise DataSet.voila ce que je souhaite faire:Je séle
Application en background en attente d'une combinaison de touches [ par K0rr1gan ]
Bonjour,Je cherche a créer une application se comportant plus ou moins comme un service, c'est a dire en exécution permanente, éventuellement sous for
Comment calculer le nombre de mois séparant deux dates ? [ par Nefret ]
Bonjour, j'aimerai savoir s'il existe un moyen de calculer le nombre de mois qui sépa
Durée d'un mp3 [ par LuckyLuck ]
Alors voilà, je voudrais simplement savoir comment calculer la durée en seconde d'un mp3, en vue de pouvoir calculer le CDDBID d'un album. Je ne deman
Livres en rapport
|
Derniers Blogs
[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|