A voir également:
- Les piles en pascal !!!!
- Turbo pascal download - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev-pascal - Télécharger - Édition & Programmation
- Faut il mettre des piles rechargeables dans un téléphone fixe ✓ - Forum Mobile
- Calcul temps de charge piles rechargeables - Forum Windows
5 réponses
LeFrettchen
Messages postés
23
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
17 octobre 2005
12
12 oct. 2005 à 06:39
12 oct. 2005 à 06:39
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
Canard007
Messages postés
5929
Date d'inscription
mercredi 26 mai 2004
Statut
Contributeur
Dernière intervention
18 septembre 2009
215
6 oct. 2005 à 08:50
6 oct. 2005 à 08:50
Tu dois faire quoi comme pile?
hamza00
Messages postés
1
Date d'inscription
jeudi 6 octobre 2005
Statut
Membre
Dernière intervention
6 octobre 2005
6 oct. 2005 à 16:52
6 oct. 2005 à 16:52
je dois faire 1 program pascal
1_ on veut tester siune expression est b1equilibré en parenthése ouvrante et farmente
(a(bc(d))) : ok
(a(bcd)): non ok
de meme pr [],{}
1_ on veut tester siune expression est b1equilibré en parenthése ouvrante et farmente
(a(bc(d))) : ok
(a(bcd)): non ok
de meme pr [],{}
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
mounir.bhk
Messages postés
3
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
23 janvier 2008
23 janv. 2008 à 17:04
23 janv. 2008 à 17:04
alors
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question