cs_Stubbornman
Messages postés80Date d'inscriptionlundi 18 février 2002StatutMembreDernière intervention12 janvier 2007
-
28 mars 2002 à 17:53
collinsdc
Messages postés4Date d'inscriptionvendredi 7 février 2003StatutMembreDernière intervention13 février 2004
-
13 févr. 2004 à 20:52
Je suis actuellement, et maintenant depuis presque deux mois (je suis un debutant alors c'est long!!) sur une source sencee resoudre les carres magiques d'ordre quelconque.
Je me suis vite retrouve face a un probleme majeur: le temps.
Dans sa premiere version, le prog demandais environ 20 secondes pour resoudre le carre 3x3 mais plus de 5 heures (je n'ai pas attendu qu'il ait fini) pour un carre 4x4, alors imaginons pour un carre 9x9...
Dans une seconde version, l'idee etait d'enregistrer dans un fichier les solutions lors de la premiere recherche pour ne pas a avoir a attendre a chaque fois que quelqu'un fais tourner le prog, mais le probleme de temps n'est pas resolu pour autant...
Plus recemment, j'ai eu l'idee de faire les calculs simultanement grace aux threads, mais j'ai vite lache l'affaire d'abord parce que je ne comprends rien aux threads, et ensuite parce que ca ne me semble pas la solution adequate.
Aujourd'hui, je sais plus comment faire. Ma connaissance en C n'ai pas mauvaise mais le Cpp reste encore tres tres flou pour moi, aussi si quelqu'un pouvait me donner une solution ou au moins une piste afin d'aboutir mon projet, je vous en serais tres reconnaissant.
cs_GoldenEye
Messages postés527Date d'inscriptionvendredi 14 septembre 2001StatutMembreDernière intervention 6 octobre 20084 29 mars 2002 à 13:21
-------------------------------
Réponse au message : 20 sec pour un carré 3*3 mais c'est monstrueux ! Ton algo doit être super mauvais. Tu cherches à trouver tous les carrés magiques d'ordre 3 ? Ou autre chose ? Précise STP
-------------------------------
Je suis actuellement, et maintenant depuis presque deux mois (je suis un debutant alors c'est long!!) sur une source sencee resoudre les carres magiques d'ordre quelconque.
Je me suis vite retrouve face a un probleme majeur: le temps.
Dans sa premiere version, le prog demandais environ 20 secondes pour resoudre le carre 3x3 mais plus de 5 heures (je n'ai pas attendu qu'il ait fini) pour un carre 4x4, alors imaginons pour un carre 9x9...
Dans une seconde version, l'idee etait d'enregistrer dans un fichier les solutions lors de la premiere recherche pour ne pas a avoir a attendre a chaque fois que quelqu'un fais tourner le prog, mais le probleme de temps n'est pas resolu pour autant...
Plus recemment, j'ai eu l'idee de faire les calculs simultanement grace aux threads, mais j'ai vite lache l'affaire d'abord parce que je ne comprends rien aux threads, et ensuite parce que ca ne me semble pas la solution adequate.
Aujourd'hui, je sais plus comment faire. Ma connaissance en C n'ai pas mauvaise mais le Cpp reste encore tres tres flou pour moi, aussi si quelqu'un pouvait me donner une solution ou au moins une piste afin d'aboutir mon projet, je vous en serais tres reconnaissant.
cs_Stubbornman
Messages postés80Date d'inscriptionlundi 18 février 2002StatutMembreDernière intervention12 janvier 2007 8 avril 2002 à 16:31
J'ai largement exagere en disant 20 seconde, ce qui est important c'est que pour un carre 4*4 (et encore plus pour des dimensions superieures) le programme est beaucoup trop long.
J'ai essaye d'eliminer les carres le plus tot possible afin de raccourcir le temps passe a verifie ceux-ci mais c'est pas suffisant.
Il faut savoir que mon but est de creer un programme qui trouve tous les carres magiques d'un ordre donne, et d'enregistrer ces solutions dans un fichier, ceci pour ne pas a avoir a faire la recherche deux fois.
Le programme fonctionne sans problemes, son seul inconvenient etant cette duree de calcul (plus de 5h sans avoir trouve toutes les solutions pour un carre 4*4 !!!).