Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CARRÉ MAGIQUE


Information sur la source

Description

Après avoir donné un coup de main à quelqu'un à ce sujet, j'ai décidé de partager l'algorithme que j'ai et que j'utilise pour construire un carré magique.

Mon principe est de remplir le carré magique dans le direction NORD-OUEST (en allant vers la gauche et en montant), avec un ensemble de controls associés.
Vous verrez ça dans ma source.

Coté présentation c'est pas fameux, mais c'est le cadet de mes soucis (et je crois que beaucoup comprendront).
 

Source

  • <html>
  • <head>
  • <title>Construction des Carrés Magiques</title>
  • </head>
  • <body>
  • <form action="Carrés Magiques.asp" method="post" name="C_M">
  • Taille du Carré Magique:
  • <input type="text" name="nb">
  • <input type="submit" value="Générer">
  • <br /><br />
  • </form>
  • <%
  • dim Taille, nbEnCours, nbElt
  • dim i,j 'les compteurs
  • dim a(10,10) 'la matrice
  • 'on receuille la taille du carré à construire
  • taille=request.form("nb")
  • 'la taille donné doit:
  • '- Etre un nombre impaire
  • '- Etre comprise entre 1 et 10 (pour notre cas)
  • if ((taille mod 2)=0) or (taille<=1) or (taille>=10)then
  • response.write("Veuillez saisir un nombre impair compris entre 1 et 10!!")
  • else
  • 'affectation du nombre total de nombre de notre carré
  • nbElt=taille*taille
  • nbEnCours=1
  • do while (nbEnCours <=nbelt)
  • if nbEncours=1 then
  • i=1
  • j=(taille+1)/2
  • else
  • i=i-1
  • j=j-1
  • end if
  • if ((nbEnCours mod taille)=1) and (nbEnCours <> 1) then
  • i=i+2
  • if i>taille then i=1
  • j=j+1
  • if j>taille then j=1
  • end if
  • if i<=0 then i=taille
  • if j<=0 then j=taille
  • a(i,j)=nbEncours
  • nbEnCours=nbEnCours+1
  • loop
  • 'affichage du carré
  • response.write("<h2>Carré Magique de taille " & taille & "</h2><br />")
  • response.write("<table border=2>")
  • for i=1 to taille
  • response.write("<tr>")
  • for j=1 to taille
  • response.write("<td>" & a(i,j) & "</td>")
  • next
  • response.write("</tr>")
  • 'response.write("<br />")
  • next
  • response.write("</table>")
  • end if
  • %>
  • <body>
  • </html>
<html>
	<head>
		<title>Construction des Carrés Magiques</title>
	</head>
	<body>
		<form action="Carrés Magiques.asp" method="post" name="C_M">
			Taille du Carré Magique:
			<input type="text" name="nb">
			<input type="submit" value="Générer">
			<br /><br />
		</form>
		<%
		dim Taille, nbEnCours, nbElt
		dim i,j 'les compteurs
		dim a(10,10) 'la matrice

		'on receuille la taille du carré à construire
		taille=request.form("nb")
		'la taille donné doit:
		'- Etre un nombre impaire
		'- Etre comprise entre 1 et 10 (pour notre cas)
		if ((taille mod 2)=0) or (taille<=1) or (taille>=10)then
			response.write("Veuillez saisir un nombre impair compris entre 1 et 10!!")
		else
			'affectation du nombre total de nombre de notre carré
			nbElt=taille*taille
			nbEnCours=1
			do while (nbEnCours <=nbelt)
				if nbEncours=1 then
					i=1
					j=(taille+1)/2
				else
					i=i-1
					j=j-1
				end if
				if ((nbEnCours mod taille)=1) and (nbEnCours <> 1) then 
					i=i+2
					if i>taille then i=1
					j=j+1
					if j>taille then j=1
				end if
				
				if i<=0 then i=taille
				if j<=0 then j=taille				
				a(i,j)=nbEncours
				nbEnCours=nbEnCours+1
			loop
			
			'affichage du carré
			response.write("<h2>Carré Magique de taille " & taille & "</h2><br />")	
			response.write("<table border=2>")			
			for i=1 to taille
				response.write("<tr>")
				for j=1 to taille
						response.write("<td>" & a(i,j) & "</td>")
				next
				response.write("</tr>")
				'response.write("<br />")
			next
			response.write("</table>")
		end if
		%>
	<body>
</html>

Conclusion

j'attend vos questions et suggestions concernant cette façon de voir la chose
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.