Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2790 connectés 

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

C++

n°76415
braisik
Montpel's c'est de la braise..
Posté le 28-11-2001 à 19:19:23  profilanswer
 

Re bonjour,
 
Dans mon programme, j'ai un .txt qui contient une suite de nombres (ex: 1234567890). D'autre part j'ai une chaine ne caractère char (ex: 4567). Je dois trouver un moyen de vérifier si la chaine de caractère 4567 existe dans la suite de nombre contenue dans le .txt.
Donc je récupère la chaine de caractère contenue dans le .txt puis il faut que je "compare" les 2. Quelqu'un a-t-il une idée d'un algorithme pour faire ce genre de travail?
 
Et ce que j'ai été clair ? Pas sur...Si vous ne comprenez pas j'essairai d'être plus claire
 
Merci

mood
Publicité
Posté le 28-11-2001 à 19:19:23  profilanswer
 

n°76418
[SDF]Poire
Vive Grumly
Posté le 28-11-2001 à 19:26:27  profilanswer
 

Comment tu stocks ta suite de chiffre dans le fichiers ?
(Pq tu sauverais pas dans le fichier ta suite de chiffres comme texte ?)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°76505
chrisbk
-
Posté le 28-11-2001 à 22:30:28  profilanswer
 

voui tu peux reexpliquer s'il te plait ? pour moi c plutot confus

n°76518
sisicaivra​i
Life is Beautifullll
Posté le 28-11-2001 à 22:58:13  profilanswer
 

ca sent la récursivité...

n°76564
braisik
Montpel's c'est de la braise..
Posté le 29-11-2001 à 09:56:41  profilanswer
 

Effectivement je pense qu'il y a de la récursivité la dessous...
Je vais essayer de ré-expliquer en simplifiant mon pb.
J'ai 2 chaines de caractères :
char ch1[10]="123456789"
char ch2[4]="456"
 
J'aimerai trouver un algorithme efficace qui me dise si la chaine 2 (ch2) est contenue dans la chaine 1 (ch1). Dans cette exemple je veux que l'algo vérifi si "456" est bien contenu dans la chaine 1...
 
J'espère avoir été un peu plus clair ;)

n°76566
chrisbk
-
Posté le 29-11-2001 à 10:06:07  profilanswer
 

roh oui, OK
 
bon, la brute force devrait marcher, meme si c trop pas beau :
 

Code :
  1. BOOL compare(char *ch1, char *ch2)
  2. {
  3. for (int i=0;i<strlen(ch1)-strlen(ch2);i++)
  4. {
  5. if (strncpy(ch1 + i,ch2,strlen(ch2)) == 0)
  6.    return TRUE;
  7. }
  8. return FALSE;
  9. }


 
Efficace (dans le sens rapide), ca ne l'est pas . par contre :
 
http://www.flipcode.com/cgi-bin/ms [...] cotd&id=-1
 
devrait deja plus l'etre

 

[edtdd]--Message édité par chrisbk--[/edtdd]

n°76571
Carbon_14
Posté le 29-11-2001 à 10:25:33  profilanswer
 

Fonction du C : strstr() ? Ca irait pas ?

n°76573
BENB
100% Lux.
Posté le 29-11-2001 à 10:39:02  profilanswer
 

les string stl le fond...

n°76912
braisik
Montpel&#039;s c&#039;est de la braise..
Posté le 30-11-2001 à 12:50:15  profilanswer
 

Effectivement strstr le fait très bien. Merci.


Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : C++


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)