Carré magique

Soyez le premier à donner votre avis sur cette source.

Vue 14 903 fois - Téléchargée 363 fois

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 / Exemple :


<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

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.