Corrigez mes erreurs dans cette fct en C svp
Fermé
Daniel
-
Modifié par Daniel le 17/02/2012 à 23:02
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 18 févr. 2012 à 00:29
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 18 févr. 2012 à 00:29
A voir également:
- Corrigez mes erreurs dans cette fct en C svp
- Trouvez l'erreur dans la structure du document et corrigez-la. - Forum Word
- Table des matières ne prenant pas en compte tous mes titres - Forum Word
- Erreur de mise à jour de la table des matières! ✓ - Forum Word
- Problème mise à jour table des matières - Forum Word
2 réponses
info_Louka
Messages postés
64
Date d'inscription
mardi 25 janvier 2011
Statut
Membre
Dernière intervention
16 mars 2013
17 févr. 2012 à 23:12
17 févr. 2012 à 23:12
ca serai plus facile si tu disais ca t'affiche koi comme message d'erreur
blidye6
Messages postés
10
Date d'inscription
vendredi 17 février 2012
Statut
Membre
Dernière intervention
18 février 2012
3
17 févr. 2012 à 23:15
17 févr. 2012 à 23:15
Y'a un TP d'info à finir je sens....
Dis nous le probleme.
Dis nous le probleme.
oui on peu dire ça comme ça en fait voila ou j'en suis l'affiche factPrem ne donne rien et bloque
#include <stdio.h>
#include<stdlib.h>
#include<math.h>
int tabPrem[100] ;int factPrem[100];
int estPremier (int n )
{
int i ;
for (i = 2 ; i <= sqrt (n);i++)
if (n % i == 0)
return 0;
return 1 ;
}
void remp (int nbr)
{
int i,b,j = 1 ;
tabPrem [0] = 2;
for (i = 3; i<= sqrt(nbr) ;i++)
{
b = estPremier (i);
if (b == 1)
{
tabPrem [j] = i;
j++;
}
}
}
void affiche (int t[])
{ int i,taille;
for (i=0; i<taille;i++)
printf("%d / ",t[i]);
}
void decomposition (int n)
{
int j=0,i=0,b;
do
{ b = estPremier(n) ;
if (b == 1)
factPrem[j] = n ;
else if (n % tabPrem[i] == 0 )
{
factPrem[j] = tabPrem[i];
j++;
decomposition (n / tabPrem[i]);
}
else i++;
} while ();
}
int main ()
{
int nbr,i;
printf ("donner le nbr a decomposer \n");
scanf("%d",&nbr );
remp(nbr);
affiche (tabPrem);
decomposition(nbr);
printf ("\n\n");
affiche (factPrem);
return 0;
}
#include <stdio.h>
#include<stdlib.h>
#include<math.h>
int tabPrem[100] ;int factPrem[100];
int estPremier (int n )
{
int i ;
for (i = 2 ; i <= sqrt (n);i++)
if (n % i == 0)
return 0;
return 1 ;
}
void remp (int nbr)
{
int i,b,j = 1 ;
tabPrem [0] = 2;
for (i = 3; i<= sqrt(nbr) ;i++)
{
b = estPremier (i);
if (b == 1)
{
tabPrem [j] = i;
j++;
}
}
}
void affiche (int t[])
{ int i,taille;
for (i=0; i<taille;i++)
printf("%d / ",t[i]);
}
void decomposition (int n)
{
int j=0,i=0,b;
do
{ b = estPremier(n) ;
if (b == 1)
factPrem[j] = n ;
else if (n % tabPrem[i] == 0 )
{
factPrem[j] = tabPrem[i];
j++;
decomposition (n / tabPrem[i]);
}
else i++;
} while ();
}
int main ()
{
int nbr,i;
printf ("donner le nbr a decomposer \n");
scanf("%d",&nbr );
remp(nbr);
affiche (tabPrem);
decomposition(nbr);
printf ("\n\n");
affiche (factPrem);
return 0;
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
18 févr. 2012 à 00:29
18 févr. 2012 à 00:29
Bonjour,
J'ai pas tout lu, mais je vois quelques problèmes :
void affiche (int t[])
{ int i,taille;
for (i=0; i<taille;i++)
printf("%d / ",t[i]);
}
taille n'est pas initialisé. Tu ne peux donc pas le comparer avec i. Il faut l'initialiser avec la longueur du tableau.
Dans decomposition : while (); Normal que cela fasse une boucle infinie puisque tu ne mets pas de condition.
Corrige déjà ces deux points, et repose le code en le mettant entre deux balises "code" (à droite du bouton souligné). Cela sera plus agréable pour lire.
J'ai pas tout lu, mais je vois quelques problèmes :
void affiche (int t[])
{ int i,taille;
for (i=0; i<taille;i++)
printf("%d / ",t[i]);
}
taille n'est pas initialisé. Tu ne peux donc pas le comparer avec i. Il faut l'initialiser avec la longueur du tableau.
Dans decomposition : while (); Normal que cela fasse une boucle infinie puisque tu ne mets pas de condition.
Corrige déjà ces deux points, et repose le code en le mettant entre deux balises "code" (à droite du bouton souligné). Cela sera plus agréable pour lire.
17 févr. 2012 à 23:13
18 févr. 2012 à 00:14