Bonjour,
d’après ce que j'ai appris, la taille maximum d'une chaîne de caractères est 256.
Comment puis-je résoudre ce problème ?
![]()
Bonjour,
d’après ce que j'ai appris, la taille maximum d'une chaîne de caractères est 256.
Comment puis-je résoudre ce problème ?
![]()
Bonjour,
Difficile de t'aider si tu ne donnes pas plus de précisions : où rencontres-tu des difficultés ? Peux-tu nous montrer ton code ?
![]()
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
voila mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 program doube; var ch:string; p:integer; b:boolean; procedure remplir(var ch:string); begin readln(ch); end; procedure rech(ch:string; var b:boolean; var p:integer); begin p:=0; b:=false; repeat p:=p+1; if ch[p]=ch[p+1] then b:=true; until (b=true) or (p=length(ch)); end; begin remplir(ch); rech(ch,b,p); while b=true do begin delete(ch,p,2); rech(ch,b,p); end; write(ch); end.
Bonjour ! Vous n'étiez pas très loin de la solution.
Il y a une première erreur, c'est que vous effacez deux caractères là où il faudrait n'en effacer qu'un :
Il y a une deuxième erreur, c'est que la dernière comparaison à faire est la comparaison entre l'avant-dernier caractère et le dernier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 //delete(ch,p,2); delete(ch,p,1);
Une fois ces deux corrections faites, il me semble que le programme donne le résultat attendu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 //until (b=true) or (p=length(ch)); until (b=true) or (p=length(ch) - 1);
Après, certaines améliorations pourraient être apportées. Par exemple, si vous regardez bien, le paramètre p de la procedure rech() ne sert à rien dans l'état actuel du code.![]()
même avec vos solution ça marche pas !
je suis certain qu'il faut effacer deux caractères(lire le sujet)
Partager