Rechercher : dans
Par :

[pascal]pb fonction d'inversement de chaînes

Dernière réponse le 27 mar 2009 à 17:16:48 grad, le 6 jan 2008 à 12:45:26 
 Signaler ce message aux modérateurs

Bonjour,
Je travaille avec pascal sous le compilateur Dev - Pas

J'ai fait un programme qui appelle à une fonction d'inversement des chaînes de caractères:

Program inversementdeschainesdecaracteres;

uses wincrt;

Var ch,chaine_inversee:string;

Function inverse(ch:string):string;
Var a,i,j:integer;
ch2,ch3:string;
begin
a:=length(ch);
ch2:=ch;
ch3:=ch;
for i:=1 to a do
begin
for j:=a downto 1 do
begin
ch2[i]:=ch3[j];
inverse:=ch2;
end;
end;
end;

Begin
write('Donnez la chaîne:');
read(ch);
chaine_inversee:=inverse(ch);
writeln('La chaîne inversée est:',chaine_inversee);
readln;readln;
end.


Le programme se compile et s'execute avec succès
mais à l'execution,après que j'entre la chaîne ch qui vaut par exemple ABC au lieu d'obtenir CBA j'obtient AAA
vous pouvez m'aider à corriger l'erreur;
aussi vous pouviez me dire une procédure qui inverse les chaîne et non pas cette fonction,c'est à dire automatiquement après faire l'appel à la procédure la chaîne s'inverse

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [pascal]pb fonction d'inversement de chaînes » dans :
VBScript - Les fonctions de chaînes de caractères Voir Les fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Pascal - Tri par insertion - Récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par insertion : Procedure Tri_Ins (Var t: TAB; n: integer); Var aux,i : integer; begin If n > 1 Then begin ...
Liste simplement chaînée VoirLISTES SIMPLEMENT CHAINÉES Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la liste IV. Opérations sur les listes chaînées A. Initialisation B. Insertion d'un élément dans la liste 1. Insertion...
Gestion d'écran en Pascal VoirLa gestion d'écran se fait par les fonctions et les procédures prédéfinies de l’unité WinCrt. C’est pourquoi dans chaque programme on utilise l’unité WinCrt (Crt en Free Pascal) Exemple : Par défaut, le titre d’une fenêtre c’est le nom du...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...

1

grad, le 6 jan 2008 à 13:54:04

Répondez moi

Répondre à grad

2

freeze, le 6 jan 2008 à 16:01:40

ça y est j'ai trouvé la solution
mais je garde un question :

Comment transformer la fonction en procédure?
c'est à dire à la place de mettre ch:=inverse(ch);
Je mets une procédure directe qui l'inverse

Répondre à freeze

3

 Mystic, le 27 mar 2009 à 17:16:48

Reponse 1 an plus tard !
Pour en faire une procedure, il suffit de la declarer comme ceci :

Procedure inverse(var ch:string);

Et de mettre le resultat de la procedure comme ceci : ch:=resultat

Ainsi, en appelant inverse(a), a sera inversé !
En esperant avoir pu aider qlqun ^^ !

Répondre à Mystic