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: