Inscription / Connexion Nouveau Sujet
Niveau énigmes
Partager :

JFF Sudoku n°4 *

Posté par PythagoreJimmy (invité) 09-03-06 à 23:12

Bonjour à tous,
Je vois que les JFF (fort intéressantes) sont nombreuses en ce moment... Je propose quand même comme depuis peu (et jusqu'à que je n'arrive plus à en faire) la nouvelle "JFF Sudoku" Comme la dernière n'a connu qu'un succès médiocre et que je doute sur l'impopularité du jeu de Sudoku ou de la nullité de mes sudokus je poste un Sudoku très facile pour que tout le monde ai la possiblité d'y réfléchir
Réponses blanquées ne sont pas de refus
Bonne chance,
Jimmy

JFF Sudoku n°4

Posté par
borneo
re : JFF Sudoku n°4 * 09-03-06 à 23:31

Joli

Posté par
master_och
re : JFF Sudoku n°4 * 10-03-06 à 02:00

Enfin j'ai réussi un algorithme qui peut résoudre n'importe quel Sudoku et qui vérifie le minimum possible des cas.
voici ma solution:
8  6  1  5  7  2  4  3  9
7  9  3  8  4  1  5  6  2
5  4  2  3  6  9  1  7  8
1  7  4  2  9  8  6  5  3
2  5  8  6  1  3  7  9  4
6  3  9  7  5  4  8  2  1
4  1  7  9  3  5  2  8  6
9  8  6  1  2  7  3  4  5
3  2  5  4  8  6  9  1  7
.
  

Posté par PythagoreJimmy (invité)re : JFF Sudoku n°4 * 10-03-06 à 06:58

Pourrais-tu expliquer ton algorythme qui peut résoudre tous les sudoku stp ? Si ça marche pour tous les sudokus ça m'intéresse comme méthode...
Merci
Jimmy





Posté par
benitoelputoamo
re : JFF Sudoku n°4 * 10-03-06 à 07:46

Bonjour,

Je suis en train d'en faire un en Visual Basic. En fait, je crée une grille, je mets tout les nombres présents dans la grille de départ, je demande au programme de me mettre toutes les possibilités et de vérifier chaque ligne, chaque colonne, pour voir si tous les chiffres y sont au moins une fois. Je te tiens au courant quand je l'aurai fini (il est en cours d'élaboration).

Benoit

Posté par
master_och
re : JFF Sudoku n°4 * 10-03-06 à 18:47

Salut PythagoreJimmy
Désolé j'ai vraiment pas de temps ces 2 semaines je ne pourrait pas t'expliquer mon programme(d'ailleur je ne vais même pas participé au challenge le reste de ce mois).
Mais si tu veux que je te copie mon programme écrit en turbo pascal je ne dirais pas non .
En tout cas si tu sera encore interessé dans 2 semaines je t'expliquerai mon programme .

Posté par PythagoreJimmy (invité)re : JFF Sudoku n°4 * 10-03-06 à 19:53

Bonjour,
ok pas de problème pour dans 2 semaines ou en turbo pascal je sais pas ce que c'est mais je veux bien que tu me le copie si ça te dérange pas...
PS: Je sais pas si je comprendrais ton explication je ne suis qu'en troisième mais peut-etre que c'est pas difficile ?
Merci
Jimmy

Posté par
_Estelle_
re : JFF Sudoku n°4 * 10-03-06 à 19:55

Salut M_O,

tu pourras me passer ton programme en TP aussi stp ? (Je ne sais pas si tu avais l'intention de l'envoyer à Jimmy ou de le poster).

Merci.

Posté par PythagoreJimmy (invité)re : JFF Sudoku n°4 * 10-03-06 à 20:08

Bonjour STL c'est quoi en TP ?
Jimmy

Posté par
_Estelle_
re : JFF Sudoku n°4 * 10-03-06 à 20:08

en Turbo Pascal

----------
Estelle.

Posté par PythagoreJimmy (invité)re : JFF Sudoku n°4 * 10-03-06 à 20:10

Certe ça j'ai compris mais c'est quoi Turbo Pascal ?
Jimmy

Posté par
_Estelle_
re : JFF Sudoku n°4 * 10-03-06 à 20:10

Ah pardon. Je ne le connais pas bien, je ne l'ai vu que cette année. Essaie Google...

Posté par PythagoreJimmy (invité)re : JFF Sudoku n°4 * 10-03-06 à 20:22

ok merci je vais voir...
Jimmy

Posté par
master_och
re : JFF Sudoku n°4 * 10-03-06 à 23:31

Bonsoir
Le turbo pascal est un language de progammation comme le C++,le visual Basic etc...
Puisque tu ne le connais pas je ne crois pas que tu pourra comprendre quelque chose mais je le poste quand même puisque tu me le demande le voilà:


uses wincrt;
type t=array[1..9,1..9] of integer;
     r=array[1..9,1..9,1..9] of integer;
function veri(x:integer;s:t;i,j:integer):boolean;var p,q,k,n,v:integer;b:boolean;
         begin v:=1;if x<>0 then begin
         for p:=1 to 9 do if ((p<>i)and(s[p,j]=x))or((p<>j)and(s[i,p]=x))then begin v:=0;p:=9;end;
         if v=1 then begin n:=3*((i-1) div 3)+1;k:=3*((j-1) div 3)+1;
         for p:=n to n+2 do for q:=k to k+2 do if((p<>i) or(q<>j))and(s[p,q]=x)then begin v:=0;p:=n+2;q:=k+2;end;end;
         end;if v=1 then veri:=true else veri:=false;;end;  
      
var q,n,i,k,j,m,p,tr1,f,v,g1,g2:integer;s,max,pos:t;tr:r;b,b1:boolean;
begin
writeln('remplissez le tableau (si une case est vide appuyez sur 0)');n:=1;
for i:=1 to 9 do for j:=1 to 9 do begin s[i,j]:=0;pos[i,j]:=0;end;
for i:=1 to 9 do for j:=1 to 9 do begin repeat gotoxy(3*i-2,j+1);readln(p);until p in [0..9];s[i,j]:=p;
if veri(p,s,i,j)=false then begin i:=9;j:=9;n:=0;gotoxy(1,12);writeln('le sudoku est faux !!');end
else begin max[i,j]:=1;tr[i,j,1]:=p;end;end;
if n=1 then begin for i:=1 to 9 do for j:=1 to 9 do if s[i,j]=0 then begin max[i,j]:=0;for p:=1 to 9 do begin
if veri(p,s,i,j)then begin inc(max[i,j]);tr[i,j,max[i,j]]:=p;end;end;if max[i,j]=1 then s[i,j]:=tr[i,j,1]
else if max[i,j]=0 then begin gotoxy(1,12);write('le sudoku est faux');n:=0;end;end;end;
if n=1 then begin i:=0;f:=0;
repeat q:=1;if f>1 then begin gotoxy(1,15);write(f);end;gotoxy(1,17);readln(v);n:=f;inc(f);if(f>1)then i:=g2-1 else n:=f;
repeat if f>n then begin n:=f;j:=g1-1;end else j:=0;i:=i+1;;repeat j:=j+1;m:=max[i,j];if m>1 then begin p:=pos[i,j];
       if p=m then b:=false else repeat inc(p);tr1:=tr[i,j,p];b:=(veri(tr1,s,i,j));until (b or(p=m));
       if b then begin s[i,j]:=tr1;pos[i,j]:=p;g1:=j;g2:=i;end
       else begin s[i,j]:=0;pos[i,j]:=0;if(i>1)or(j>1)then begin repeat if j=1 then begin i:=i-1;j:=10;end;
              repeat j:=j-1;p:=pos[i,j];m:=max[i,j];b1:=((p<m)and(m>1));
              if p=m then begin s[i,j]:=0;pos[i,j]:=0;end;until((j=1)or b1);until(b1 or(i=1));
              if b1 then begin if j>1 then j:=j-1 else begin i:=i-1;j:=9 end;end
              else begin q:=0;i:=9;j:=9;gotoxy(1,12);if f=1 then writeln('le sudoku est faux ')
              else writeln('y a plus de solutions');end;end else q:=0;
              end;end;
              until(j=9)or(q=0);until(i=9)or(q=0);
if q=1 then for i:=1 to 9 do for j:=1 to 9 do begin gotoxy(3*i+30,j+1);writeln(s[i,j]);end;
until(q=0);end;end.



Tu n'a qu'à telecharger le turbo pascal l'installer puis tu fais copier coller au programme si dessus et enfin tu apuie sur Ctrl+F9.Une fenêtre d'exécution appaîtra alors tu donnes les valeurs données par le sudoku une par une en appuyant sur entrée aprés chaque valeur(l'affichage sera comme mon poste de 10/03/2006 à 02:00)lorsque une case est vide tu appuies sur 0.
une fois le tableau est remplie tu tape n'importe quel numéro puis entrée à chaque fois que tu veux voir une nouvelle solution.
Bien évidament s'il n ya plus de solution le programme te le dira.  
          
  

Posté par PythagoreJimmy (invité)re : JFF Sudoku n°4 * 10-03-06 à 23:51

J'ai télécharger le Turbo Pascal mais comment je fait pour l'installer? J'ai un dossier avec plusieurs fichiers (BGI,BIN,DOC,EXAMPLES,SOURCE,UNITS,LISEZMOI,LISEZMOI(2),LISTEFIC,UNZIP. J'ai ouvert le unzip mais ça na pas marché cela extrait les mêmes fichiers...
Que faut-il faire?
Merci
Jimmy

Posté par
master_och
re : JFF Sudoku n°4 * 10-03-06 à 23:55

Y a pas un fichier install ??

Posté par PythagoreJimmy (invité)re : JFF Sudoku n°4 * 10-03-06 à 23:58

Non y a pas. Y a unzip je l'ai ouvert et j'en ai extrait exactement les mêmes fichiers...

Posté par
master_och
re : JFF Sudoku n°4 * 10-03-06 à 23:59

Je peux t'envoyer le mien si tu veux, tu n'as qu'à me contacter par MSN Messenger.
Dans ce cas pas la peine même d'installer le turbo pascal je peux t'envoyer le fichier exécutable directement  

Posté par PythagoreJimmy (invité)re : JFF Sudoku n°4 * 11-03-06 à 00:07

ok pas de problème mais ce language est bien compatible avec windows XP. Pour mon adresse e-mail MSN elle est dans mon profil
Jimmy

Posté par PythagoreJimmy (invité)re : JFF Sudoku n°4 * 11-03-06 à 00:08

J'ai regardé mon profil mais elle n'y ai pas. Comment s'échange tout les adresses ? J'ai vu que c'était interdit s'il n'était pas dans le profil... ??
Jimmy

Posté par PythagoreJimmy (invité)re : JFF Sudoku n°4 * 11-03-06 à 00:09

**n'y est

Posté par
master_och
re : JFF Sudoku n°4 * 11-03-06 à 00:10

voici mon compte msn:
***@hotmail.com
tu peux me contacter maintenant je suis connecté .

Posté par PythagoreJimmy (invité)re : JFF Sudoku n°4 * 11-03-06 à 02:37

Merci pour tes conseils, instructions etc... Le programme marche donc très bien et je l'ai tout de suite enregistré comme ça je le perd pas !! Il me sera très utile pour les petits blocages durant la résolution d'un sudoku !!
Jimmy

Posté par
borneo
Petit test * 12-03-06 à 17:16

Ce n'est pas pour ajouter quelquechose, mais juste pour voir comment on met une étoile dans un topic

Posté par
_Estelle_
re : JFF Sudoku n°4 * 12-03-06 à 17:17

Héhé c'est un peu plus compliqué que ça borneo.

Indice : l'infobulle des énigmes...

Posté par
borneo
Yesss * 12-03-06 à 17:18

C'est en se trompant qu'on apprend.

Posté par
_Estelle_
re : JFF Sudoku n°4 * 12-03-06 à 17:20



Ne t'inquiète pas, je n'avais pas trouvé du tout (mais bon, faut dire que les indices de philoux aident peu et laissent bien le mystère entier)

Estelle

Posté par
borneo
**** 12-03-06 à 17:28

Un dernier coup pour voir si ce n'est pas un coup de chance

Posté par
triumph675
génial ce programme! 12-05-08 à 15:33

bonjour,
je m'adresse en particulier à master_och,j'ai récemment testé ton programme sur turbo pascal et je le trouve très interessant,seulement,je ne suis pas très fort dans ce langage et je ne comprend pas toute la synthaxe ,j'aimerai donc si cela ne te derange pas,que tu m'explique la démarche de ce programme plus en détails notamment pourquoi tu insère 2 tableaux(t et r) dans le programme au lieu d'un seul et sur le mode de fonctionnement de la fonction "very" merci

Posté par
Eric1
re : JFF Sudoku n°4 * 13-05-08 à 08:39

J'ai fait l'année dernière un programme en Java permettant de résoudre les sudokus. Malheureusement, je me suis rendu compte que ça ne marchait pas pour certains compliqués... J'ai néanmoins quelques visions d'amélioration, mais pas trop le temps.

L'algorithme s'appuie sur ce que j'appelle des filtres pour chaque chiffre, c'est à dire 9 tableaux de 81 cases pouvant contenir des 0 (incertain), 1(il y a un numéro correspondant au filtre ici), -1 (il n'y en a pas)

Je dispose aussi d'une grille solution (81 cases) contenant 0 (incertain), et les chiffers de 1 à 9.

Pour le source (en version graphique: applet), me contacter par mail.

Posté par
kel
re : JFF Sudoku n°4 * 30-05-11 à 01:50

est-ce qu'on peut utiliser les fichiers pour résoudre ce programme de sudoku

Posté par
dpi
re : JFF Sudoku n°4 * 30-05-11 à 07:17

Bonjour,

En regardant la date,j'ai compris.
La mode semble passée car on sait d'avance
qu'on peut le résoudre avec les "ruses" désormais
connues.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !