Forum programmation
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 extraire un mot

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
mimi2316
Nouveau
Nouveau


Nombre de messages : 3
Date d'inscription : 16/04/2008

MessageSujet: extraire un mot   Mer 16 Avr - 19:17

bonjour, le sujet:
ecrire un algorithme qui permet de compter les occurences du premier mot d'une chaine de caractères.
je suis débutante en pascal.
j'ai essayé mais ça marche pas:

Code:

program exo93;
uses crt;
var ph: string;
pmot:string;

function occ_mot(ch:string;var mot:string):integer;
var i,j,cpt:integer;
m: string;
begin
i:=1;
cpt:=0;
j:=1;
m:= copy (ch,j,i);
if (ord(m[j]))<> 32 then
begin
if m=mot then begin
cpt:=cpt +1;
j:=i+1;
end
else
i:= i+1;
end
else
j:=j+1;
occ_mot:=cpt;
end;

begin
writeln ('donner la phrase ');
readln(ph);
writeln('donner le mot que vous vouler comparer');
readln( pmot);
writeln(' le nobre d occurences du mot ',pmot,'est: ',occ_mot(ph,pmot));
readln;
end.

le probleme est que dans la fonction occ_mot il n'y a extraction que du premier caractère de la chaîne ch (la phrase), que j'essayes de comparer avec le premier caractère de mot (le mot à trouver).
donc comment faire pour extraire un mot d'une chaine ? please help me

merci d avance.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: extraire un mot   Lun 21 Avr - 20:53

Salut
Je crois que c'est un peu tard mais je vais répondre quand même :

Dans le cas ou tu recherche un mot dans une chaîne qui contient plusieurs mots, cela veux dire que les mots sont séparés d'espaces, donc le premier mot commence du premier caractère et fini avant le premier espace rencontré ou eventuellement la fin de la chaine si elle ne contient qu'un seul mot...
Je te laisse méditer sur cette petite expliquation. Si besoin est, j'expliquerai d'avantage.

Bon, @++
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mimi2316
Nouveau
Nouveau


Nombre de messages : 3
Date d'inscription : 16/04/2008

MessageSujet: Re: extraire un mot   Mar 22 Avr - 18:50

c bon j'ai résolu mon problem j'ai refais mon programme autrement mais merci comme meme pour ton aide chaker japrécis bi1 et le voici :
Code:

Function occ_mot (ch : String; var Mot : String) : Integer;
Var l, cpt, Debut : Integer;
m : String;
Begin
l :=1 ;
cpt := 0;
while l <= Length(ch) do
begin
sep:=[' ',';',',','.'];
while (ch[l] in sep) do
begin
l := l + 1;
end;
if ch[l]= mot[1]
then
begin
Debut := l;
while not (ch[l] in sep) do
l := l + 1;
m := Copy(ch,Debut,l - Debut);
if m = mot
then
cpt := cpt + 1;
end
else
l := l + 1;
end;
occ_mot := cpt;
end;
et il s'execute king @++
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: extraire un mot   

Revenir en haut Aller en bas
 
extraire un mot
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» extraire un SWF à taille fixe.
» extraire une vis cassée
» Extraire une vis cassée
» [ Résolu ] Besoin d aide pour extraire piste de cd audio protégé
» Extraire forum pour modification

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum programmation :: Programmation :: Delphi & Pascal :: Pascal :: Exercices-
Sauter vers: