moriss المشرف العام للمنتدى
عدد الرسائل : 100 العمر : 39 تاريخ التسجيل : 27/02/2008
| موضوع: exercice:inverser une chaine de caractère الأربعاء مارس 05, 2008 3:40 pm | |
| ecrire un programme modulaire qui permet de: -saisir une chaine de caractere non vide -inverser cette chaine on utilisant une module recursiveexemple: CH="INFOR" la chaine devient CH="ROFNI" Code: program inverse; uses wincrt; var i,n:integer; ch:string; aux:char; procedure inv ( var ch:string; i,n:integer); begin if i<n then begin aux:= ch[i]; ch[i]:=ch[n]; ch[n]:= aux; inv(ch,i+1,n-1) ; end; end; begin writeln('saisir une chaine'); readln(ch); i:=1; n:=length(ch); inv(ch,i,n); writeln('l"inverse est '); writeln(ch); . end oici une solution là ou on peut ecrire la fonction inverser autrement program solution ;
uses wincrt ;
var
ch,s:string ;
{ ============ CORPS DE LA PROCEDURE SAISIR ===================}
procedure saisir (var ch:string);
begin
writeln('donner une chaine');
readln(ch);
End;
{ ============ CORPS DE LA FONCTION INVERSER ===================}
function inverser(ch:string;g,d:integer):string;
var
aux:char;
begin
if (d-g)<1 then inverser:=ch
else
begin
aux:=ch[g];
ch[g]:=ch[d];
ch[d]:=aux;
inverser:=inverser(ch,g+1,d-1);
End;
End;
{ ============ CORPS DE PROGRAMME PRINCIPAL ===================}
begin
saisir(ch);
s:=inverser(ch,1,length(ch));
writeln('la chaine devient: ',s);
End.
| |
|
sofiane المدير العام للمنتدى
عدد الرسائل : 376 العمر : 34 المدينة : Mahdia الهواية : internet المهنة : élève تاريخ التسجيل : 26/02/2008
| موضوع: رد: exercice:inverser une chaine de caractère الأربعاء مارس 05, 2008 3:49 pm | |
| moriss tu es un grand chef | |
|