Carré magic aide SVP mes chers amis
chessinfo
-
amigo -
amigo -
bonjour;
mes chers amis merci de me regler ce probleme avec le carré magique SVP ! je trouve pa mon erreur :s
program MAGIC;
var n,l,m:integer;
TTAB : array [1..n,1..n] of integer;
procedure carremagic(n:integer , var T:TTAB)
var i,j,ani,anj:integer;
begin
i:=1;
j:=(n div 2)+1;
for k:=1 to (n*n) do
begin
T[i,j]:=k;
ani:=i;
anj:=j;
i:=i+1;
j:=j+1;
if(i=0)
then i:=n;
if(j=n+1)
then j:=1;
if(T[i,j]>0) then
begin
i:=ani+1;
j:=anj;
end;
end;
end.
begin(*programme principale*)
writeln('donner un nombre impaire:');
readln(n);
carremagic(n,T[l,m]);
for l:=1 to n do
for m:=1 to n do
writeln('T[',l,',',m,']');
readln;
end.
merci
mes chers amis merci de me regler ce probleme avec le carré magique SVP ! je trouve pa mon erreur :s
program MAGIC;
var n,l,m:integer;
TTAB : array [1..n,1..n] of integer;
procedure carremagic(n:integer , var T:TTAB)
var i,j,ani,anj:integer;
begin
i:=1;
j:=(n div 2)+1;
for k:=1 to (n*n) do
begin
T[i,j]:=k;
ani:=i;
anj:=j;
i:=i+1;
j:=j+1;
if(i=0)
then i:=n;
if(j=n+1)
then j:=1;
if(T[i,j]>0) then
begin
i:=ani+1;
j:=anj;
end;
end;
end.
begin(*programme principale*)
writeln('donner un nombre impaire:');
readln(n);
carremagic(n,T[l,m]);
for l:=1 to n do
for m:=1 to n do
writeln('T[',l,',',m,']');
readln;
end.
merci
A voir également:
- Carré magic aide SVP mes chers amis
- Parted magic - Télécharger - Stockage
- Magic iso - Télécharger - Gravure
- File magic - Télécharger - Traitement de texte
- Metre carré clavier ✓ - Forum Windows
- Faire un ² sur clavier QWERTZ ✓ - Forum Bureautique
6 réponses
salut
t'as pas declaré la variable k
program MAGIC;
var n,l,m:integer;
TTAB : array [1..n,1..n] of integer;
procedure carremagic(n:integer , var T:TTAB)
var i,j,ani,anj:integer;
begin
i:=1;
j:=(n div 2)+1;
for k:=1 to (n*n) do
begin
T[i,j]:=k; <----------------------- k!
ani:=i;
anj:=j;
i:=i+1;
j:=j+1;
if(i=0)
then i:=n;
if(j=n+1)
then j:=1;
if(T[i,j]>0) then
begin
i:=ani+1;
j:=anj;
end;
end;
end.
begin(*programme principale*)
writeln('donner un nombre impaire:');
readln(n);
carremagic(n,T[l,m]);
for l:=1 to n do
for m:=1 to n do
writeln('T[',l,',',m,']');
readln;
end.
t'as pas declaré la variable k
program MAGIC;
var n,l,m:integer;
TTAB : array [1..n,1..n] of integer;
procedure carremagic(n:integer , var T:TTAB)
var i,j,ani,anj:integer;
begin
i:=1;
j:=(n div 2)+1;
for k:=1 to (n*n) do
begin
T[i,j]:=k; <----------------------- k!
ani:=i;
anj:=j;
i:=i+1;
j:=j+1;
if(i=0)
then i:=n;
if(j=n+1)
then j:=1;
if(T[i,j]>0) then
begin
i:=ani+1;
j:=anj;
end;
end;
end.
begin(*programme principale*)
writeln('donner un nombre impaire:');
readln(n);
carremagic(n,T[l,m]);
for l:=1 to n do
for m:=1 to n do
writeln('T[',l,',',m,']');
readln;
end.
oui MR whynot12, merci bcp
mon probleme c ke dans cette ligne :
TTAB : array [1..n,1..n] of integer;
erreur =>cannot evaluate this expression
mon probleme c ke dans cette ligne :
TTAB : array [1..n,1..n] of integer;
erreur =>cannot evaluate this expression
avec TTAB : array [n,n] of integer;
erreur 21 :error in type :s
toujour ya des erreurs ! j'arrive pa a comprendre :s aidez moi SVP
erreur 21 :error in type :s
toujour ya des erreurs ! j'arrive pa a comprendre :s aidez moi SVP
Salut,
var i,j,ani,anj:integer; <-----------ajoute la déclaration de K ici
begin
i:=1;
j:=(n div 2)+1;
for k:=1 to (n*n) do <-------------- K n'est pas déclaré
begin
T[i,j]:=k; <---------------------------K n'est pas déclaré
end. <--------------pas de point apres end, il faut (;), le point final est pour END de la procedure principale.
begin(*programme principale*)
J'espère que ça marchera.
var i,j,ani,anj:integer; <-----------ajoute la déclaration de K ici
begin
i:=1;
j:=(n div 2)+1;
for k:=1 to (n*n) do <-------------- K n'est pas déclaré
begin
T[i,j]:=k; <---------------------------K n'est pas déclaré
end. <--------------pas de point apres end, il faut (;), le point final est pour END de la procedure principale.
begin(*programme principale*)
J'espère que ça marchera.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci de vos effor mes amis ! mais ya les meme erreur déclarer
au niveau de
=>TTAB : array [1..n,1..n] of integer;
=> n n'est connu
merci de le compiler pour me comprendre mieu
au niveau de
=>TTAB : array [1..n,1..n] of integer;
=> n n'est connu
merci de le compiler pour me comprendre mieu
Salut,
Il y a d'autres erreurs
TTAB : array [1..n,1..n] of integer; <--- n est une variable, on ne peut pas utiliser de variables pour dimensionner un tableau.
readln(n);
carremagic(n,T[l,m]); <--- tu appelle carremagic avec T[l,m], or l et m n'ont pas été initialisées, au mieux l et m ont la valeur 0, le l'indice de début du tableau T commence à 1 .
Enfin voila, apres correction, j'ai compilé avec succes mai je doute que le resutat soit bon. Il faudrait ton algo ou au mois l'enoncé précis pour corriger la logique du code.
program MAGIC;
var n,l,m:integer;
TTAB : array [1..10,1..10] of integer; {<---pas de variables dans le dimensionnement; j'ai mis 1..10 il faut ajuster}
{par exemple tu peux mettre 1..100}
procedure carremagic(n : integer); {<---pas la peine de passer le tableau en parametre puisqu'il est déclaré global}
var i,j,ani,anj,k:integer; {declaration de k}
begin
i:=1;
j:=(n div 2)+1;
for k:=1 to (n*n) do
begin
TTAB[i,j]:=k;
ani:=i;
anj:=j;
i:=i+1;
j:=j+1;
if(i=0)
then i:=n;
if(j=n+1)
then j:=1;
if(TTAB[i,j]>0) then
begin
i:=ani+1;
j:=anj;
end;
end;
end;
begin(*programme principale*)
writeln('donner un nombre impaire:');
readln(n);{<-verifie la valeur de n pour ne pas etre hors limites de ton tableau}
carremagic(n);
for l:=1 to n do
for m:=1 to n do
writeln('T[',l,',',m,']');
readln;
end.
Il y a d'autres erreurs
TTAB : array [1..n,1..n] of integer; <--- n est une variable, on ne peut pas utiliser de variables pour dimensionner un tableau.
readln(n);
carremagic(n,T[l,m]); <--- tu appelle carremagic avec T[l,m], or l et m n'ont pas été initialisées, au mieux l et m ont la valeur 0, le l'indice de début du tableau T commence à 1 .
Enfin voila, apres correction, j'ai compilé avec succes mai je doute que le resutat soit bon. Il faudrait ton algo ou au mois l'enoncé précis pour corriger la logique du code.
program MAGIC;
var n,l,m:integer;
TTAB : array [1..10,1..10] of integer; {<---pas de variables dans le dimensionnement; j'ai mis 1..10 il faut ajuster}
{par exemple tu peux mettre 1..100}
procedure carremagic(n : integer); {<---pas la peine de passer le tableau en parametre puisqu'il est déclaré global}
var i,j,ani,anj,k:integer; {declaration de k}
begin
i:=1;
j:=(n div 2)+1;
for k:=1 to (n*n) do
begin
TTAB[i,j]:=k;
ani:=i;
anj:=j;
i:=i+1;
j:=j+1;
if(i=0)
then i:=n;
if(j=n+1)
then j:=1;
if(TTAB[i,j]>0) then
begin
i:=ani+1;
j:=anj;
end;
end;
end;
begin(*programme principale*)
writeln('donner un nombre impaire:');
readln(n);{<-verifie la valeur de n pour ne pas etre hors limites de ton tableau}
carremagic(n);
for l:=1 to n do
for m:=1 to n do
writeln('T[',l,',',m,']');
readln;
end.