vous savez pas pq il vaut pas ... - Programmation
Marsh Posté le 20-12-2001 à 21:15:50
 
  
j      n'est pas initialisé  
 
 
c koi le language ?? 
php ou perl ?? entre les deux mon coeur ballance  
 
[edtdd]--Message édité par SteF_DOBERMANN--[/edtdd]
Marsh Posté le 20-12-2001 à 21:29:21
| SteF_DOBERMANN a écrit a écrit  :   j n'est pas initialisé c koi le language ?? php ou perl ?? entre les deux mon coeur ballance   | 
 
Pq pas du C ??? 
Bistou->fait voire les déclarations 
Marsh Posté le 21-12-2001 à 10:26:56
je vs balance le tout vs y verrez plus clair: 
 
#include<stdio.h> 
     #include<string.h> 
     #include<conio.h> 
 
     main() 
     { 
     int i,j=0,rep,cpt=0,foi=0,cpt2=0; 
     char phrase[60],temp[60],lettre; 
     float pour; 
 
     clrscr(); 
     printf ("Veuillez entrer un phrase: " ); 
     fflush(stdin); 
     gets(phrase); 
     cpt=strlen(phrase); 
     cpt2=cpt; 
     for (i=0;i<cpt;i++) 
       { 
       if (phrase[i]==' ' 
 
  { 
  cpt2--; 
  } 
       } 
     j=0; 
     printf ("\n\nQuelle lettre voulez vous rechercher: " ); 
     lettre=getche(); 
     for (i=0;i<cpt;i++) 
       { 
       rep=strcmp(lettre,phrase [i]); 
       if (rep==0) 
  { 
  strcpy (temp[j],phrase[i]); 
  j++; 
  } 
      } 
    foi=strlen(temp); 
    pour=cpt2/foi; 
    printf ("\n\nLa lettre %c apparait %dX dans la phrase",lettre,foi); 
    printf ("\nSon pourcentage d'apparition est de %.1f%",pour); 
    getch(); 
    } 
Marsh Posté le 21-12-2001 à 10:45:12
j'ai pas tout lu mais je ferais deja plutot un strncmp(lettre, phrase[i], 1). 
Mais ca doit pas vraiment venir de ca  
 
Marsh Posté le 21-12-2001 à 10:49:01
| Godbout a écrit a écrit  : j'ai pas tout lu mais je ferais deja plutot un strncmp(lettre, phrase[i], 1). Mais ca doit pas vraiment venir de ca   | 
 
Vaut mieux faire : 
if (lettre == phrase[i]) 
  temp[j++] = phrase[i]; 
[edtdd]--Message édité par [SDF]Poire--[/edtdd]
Marsh Posté le 21-12-2001 à 10:52:57
Bon j'vois rien d'autre.... sauf que tu peux faire mieux niveau algo.... 
Regaderais ça + en détail ce soir 
  
 
Marsh Posté le 21-12-2001 à 10:57:34
| bistou a écrit a écrit  : je vs balance le tout vs y verrez plus clair: #include<stdio.h> #include<string.h> #include<conio.h> main() { int i,j=0,rep,cpt=0,foi=0,cpt2=0; char phrase[60],temp[60],lettre; float pour; clrscr(); printf ("Veuillez entrer un phrase: " ); fflush(stdin); gets(phrase); cpt=strlen(phrase); cpt2=cpt; for (i=0;i<cpt;i++) { if (phrase[i]==' '   { cpt2--; } } j=0; printf ("\n\nQuelle lettre voulez vous rechercher: " ); lettre=getche(); for (i=0;i<cpt;i++) { /*rep=strcmp(lettre,phrase [i]); if (rep==0)*/ if(lettre == phrase[i]) //ca marche { strcpy (temp[j],phrase[i]); j++; } } foi=strlen(temp); pour=cpt2/foi; printf ("\n\nLa lettre %c apparait %dX dans la phrase",lettre,foi); printf ("\nSon pourcentage d'apparition est de %.1f%",pour); getch(); } | 
 
 
 
strcmp compare 2 tableau de char et as 2 char 
Marsh Posté le 21-12-2001 à 11:02:41
| flo850 a écrit a écrit  : strcmp compare 2 tableau de char et as 2 char | 
 
Déjà dit.... 
Tu etais obligé de mettre toute la citation ?  
 
Marsh Posté le 21-12-2001 à 11:05:23
| [SDF]Poire a écrit a écrit  : Vaut mieux faire : if (lettre == phrase[i]) temp[j++] = phrase[i]; | 
 
 
exact, j'vais pas cale que lettre etait un char  
  
 
Marsh Posté le 21-12-2001 à 12:39:09
| [SDF]Poire a écrit a écrit  : Déjà dit.... Tu etais obligé de mettre toute la citation ?   | 
 
j'avais la flemme de recopier la partie interressante , et la souris que j'ai a tendance a faire des copier collé un peu anarchiques 
Marsh Posté le 21-12-2001 à 17:24:51
t'as pensé à rajouter le caractère de fin de chaine '\0' à la fin de temp ? 
 
ca vient peut etre de là...qui sait... 
a+  
 
[edtdd]--Message édité par fazouye--[/edtdd]
Marsh Posté le 20-12-2001 à 20:52:02
for (i=0;i<cpt;i++)
{
rep=strcmp(lettre,phrase [i]);
if (rep==0)
{
strcpy (temp[j],phrase[i]);
j++;
}
il ne copie pas le contenu de phrase i dans temp j
---------------
:sol: