A voir également:
- Les piles en pascal !!!!
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Alcatel f860 mettre les piles ✓ - Forum telephonie fixe
- Piles manette wii - Forum Wii
5 réponses
Bonjour.
Euh, dans ton code, hamza, tu marques, je cite :
(a(bc(d))) : ok
(a(bcd)): non ok
je vois pas de différences entre les deux lignes pourtant !
1° ligne : 3 parenthèses ouvrantes, 3 fermantes
2° ligne : 2 ouvrantes, 2 fermantes...
Je suppose que tu dois tester le nombre de parenthèses, en les empilant pour voir si le nombre d'ouvrantes et de fermantes correspond, c'est ça ?
Moi je dirais alors qu'il faudrait deux tableaux de caractères, un pour les symboles, un autre pour les variables :
on obtiendrait donc du genre :
var tabSymboles :array [1..100] of char;
tabVariables :array [1.100] of char;
nbSymboles :integer;
nbVariables :integer;
ensuite, tu lis ta ligne, et suivant ce que tu trouves, tu incrémentes tel ou tel tableau...
function equilibree(ligne:string) :boolean;
var i,nbpar,nbcro,nbacc :integer;
begin
{tous les compteurs à zéro}
nbSymboles :=0;
nbVariables :=0;
{lecture de la ligne, caractères par caractères}
for i:=1 to length(ligne) do
{si le caractère est un symbole...}
if (ligne[i] in ['(',')','{','}','[',']']) then
begin
{on augmente le compteur des symboles}
inc(nbSymboles);
{empilage du symbole}
tabSymboles[nbSymboles] :=ligne[i];
end
{sinon...}
else begin
{incrémentation du compteur variables}
inc(nbVariables);
{empilage de la variable}
tabVariables(nbVariables) :=ligne[i];
end;
{il ne reste plus qu'à vérifier les piles}
{en fait, deux tableaux, un de symboles, et un de variables}
{le reste est assez simple, je pense...}
end;
voilà, j'espère que ça t'aide un peu...
sinon, tu peux toujours demander des explications en plus...
lefrettchen@hotmail.com
Euh, dans ton code, hamza, tu marques, je cite :
(a(bc(d))) : ok
(a(bcd)): non ok
je vois pas de différences entre les deux lignes pourtant !
1° ligne : 3 parenthèses ouvrantes, 3 fermantes
2° ligne : 2 ouvrantes, 2 fermantes...
Je suppose que tu dois tester le nombre de parenthèses, en les empilant pour voir si le nombre d'ouvrantes et de fermantes correspond, c'est ça ?
Moi je dirais alors qu'il faudrait deux tableaux de caractères, un pour les symboles, un autre pour les variables :
on obtiendrait donc du genre :
var tabSymboles :array [1..100] of char;
tabVariables :array [1.100] of char;
nbSymboles :integer;
nbVariables :integer;
ensuite, tu lis ta ligne, et suivant ce que tu trouves, tu incrémentes tel ou tel tableau...
function equilibree(ligne:string) :boolean;
var i,nbpar,nbcro,nbacc :integer;
begin
{tous les compteurs à zéro}
nbSymboles :=0;
nbVariables :=0;
{lecture de la ligne, caractères par caractères}
for i:=1 to length(ligne) do
{si le caractère est un symbole...}
if (ligne[i] in ['(',')','{','}','[',']']) then
begin
{on augmente le compteur des symboles}
inc(nbSymboles);
{empilage du symbole}
tabSymboles[nbSymboles] :=ligne[i];
end
{sinon...}
else begin
{incrémentation du compteur variables}
inc(nbVariables);
{empilage de la variable}
tabVariables(nbVariables) :=ligne[i];
end;
{il ne reste plus qu'à vérifier les piles}
{en fait, deux tableaux, un de symboles, et un de variables}
{le reste est assez simple, je pense...}
end;
voilà, j'espère que ça t'aide un peu...
sinon, tu peux toujours demander des explications en plus...
lefrettchen@hotmail.com
je voudrais qu'on me donne la commande s'il existe sur turbo pascal qui permet d'afficher le contenu de la pile
urgent .... merci
urgent .... merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question