hg S’enregistrer Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie

Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie  forum informatique Tunisie Index du Forum

hg Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Rechercher Rechercher Membres Membres Groupes Groupes Profil Profil Se connecter pour vérifier ses messages privés Messages Privés Connexion Connexion


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum, vous devez
 
inscrire sur notre forum a partir d'ici
 
  NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
forum d'aide informatique : internet, réseau, programmation informatique ...
chaine anagramme
 
 
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> `··._.·`·.¸¸.·´´Cours¯`··._.·`·.,¸¸,.·´¯
hg Sujet précédent :: Sujet suivant   hd
Auteur Message
Mechergui haythem
recent membre
recent membre

Hors ligne

Inscrit le: 01 Déc 2008
Messages: 13
Point(s): 150
Moyenne de points: 0

Posté le: Jeu 4 Déc - 13:12 (2008)    Sujet du message: chaine anagramme Répondre en citant

PublicitéSupprimer les publicités ?
Exercice:
Ecrire un programme qui permet de déterminer si une chiane est angramme à une autre chaine.
Exemple
le premier chaine est: "chine" et la deuxième chaine est: "chien"
--> Le programme doit affiche le message suivant ('les deux chaines est angramme');

LA SOLUTION
program anagramme;
uses wincrt;
var
mot1,mot2:string;
 

procedure saisir (var mot:string);
var
lettre:boolean;
i:integer;
begin
repeat
writeln('donner un mot: ');
readln(mot);
i:=0;
lettre:=true;
repeat
i:=i+1;
if not (upcase(mot[i]) in ['A'..'Z'])then
lettre:=false;
until (i=length(mot)) or (lettre=false);
until lettre;
end;
 

procedure affichage (mot1,mot2:string);
  function tri (mot:string):string;
   var
    ok:boolean;
    i:integer;
    m:string;
  procedure permut(var c1,c2:char);
   var
    a:char;
    begin
    a:=c1;
    c1:=c2;
    c2:=a;
    end;
    begin
    m:=mot;
    repeat
    ok:=true;
   for i:=1 to length(m)-1 do
   begin
   if m[i]>m[i+1] then
   begin
   permut (m[i],m[i+1]);
   ok:= false
   end;
   end;
   until ok ;
   tri:=m;
   end;
   begin
   if tri (mot1)=tri(mot2)then
   writeln(mot1,' est une anagramme de  ',mot2)
   else
   writeln(mot2,' n''est pas une anagramme de  ',mot1);
   end;
 

   begin
   saisir(mot1);
   saisir(mot2);
   affichage(mot1,mot2);
   end.
 


 
Revenir en haut
adelbenarbia


Hors ligne

Inscrit le: 10 Déc 2008
Messages: 2
Masculin
Point(s): 9
Moyenne de points: 0

Posté le: Dim 27 Déc - 22:39 (2009)    Sujet du message: chaine anagramme Répondre en citant

cette solution est naive essayer avec la boucle tantque

 
Revenir en haut
adelbenarbia


Hors ligne

Inscrit le: 10 Déc 2008
Messages: 2
Masculin
Point(s): 9
Moyenne de points: 0

Posté le: Dim 27 Déc - 22:42 (2009)    Sujet du message: chaine anagramme Répondre en citant

program anagramme;
uses wincrt;
var m1,m2:string;
procedure lecture (var x:string);
begin
repeat
write('donner un mot non vide :');
readln(x)
until x<>'';
end;

Function anag(m1,m2:string):boolean;
var c:char;
begin
If length(m1)=length(m2) then
    While pos(m2[1],m1)<>0 do
    begin
    c:=m2[1];
    delete(m2,1,1);
    delete(m1,pos(c,m1),1);
    end;
anag:=(m1='') and (m2='');
end;

BEGIN
lecture(m1);
lecture(m2);
If anag(m1,m2) then write('les deux chaines son tanagrammes')
               else write('les deux chaines ne sont pas anagrammes')
END.


 
Revenir en haut
amina20


Hors ligne

Inscrit le: 22 Mai 2009
Messages: 3
Féminin
Point(s): 10
Moyenne de points: 0

Posté le: Ven 1 Jan - 19:33 (2010)    Sujet du message: chaine anagramme Répondre en citant

salut
 peut on faire une version récursive de ce problème  en tenant compte  que deux mots anagrammes peuvent ne pas avoir la même longueur?    merci d'avance Okay Laughing


 
Revenir en haut
Contenu Sponsorisé






Posté le: Aujourd’hui à 05:10 (2016)    Sujet du message: chaine anagramme

 
Revenir en haut
Montrer les messages depuis:   
bg bd
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> `··._.·`·.¸¸.·´´Cours¯`··._.·`·.,¸¸,.·´¯ Toutes les heures sont au format GMT + 1 Heure
 
Page 1 sur 1

 
Sauter vers:  
Index | créer forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation