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
- Erreur de lecture reconnecté en 3s - Forum TV & Vidéo
- Erreur dans le chargement des donnees vod - Forum Box et Streaming vidéo
- Minecraft launcher n’est actuellement pas disponible dans votre compte. assurez-vous que vous êtes connecté au microsoft store et réessayez. voici le code d’erreur, au cas où vous en auriez besoin : 0x803f8001 - Forum Minecraft
- Une erreur est survenue dans le script de cette page - Forum Windows 10
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 840
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