begin process at 2008 05 11 23:26:46
1 170 032 membres
487 nouveaux aujourd'hui
13 956 membres club

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


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
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

    Aucun commentaire pour le moment.

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS