algo sur les nombres premiers : probleme de complation
Bonjour à tous.
je vous expose mon probleme : je suis debutant en prog C et je veux realiser un programme parmettant de dire si un nombre, entré par un utilisateur, est premier ou pas. j'ai ecrit le programme, et à la compilation, le compilateur m indique pls erreurs. est-ce que quelqu'un peut m'aider à résoudre ces errreurs car je n'y arrive pas merci d'avance.
ci-dessous le programme.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include <stdio.h>
#include <stdlib.h>
void main()
{
int y,x,reste;
x<=y;
printf("taper le nombre que vous voulez connaitre :\n");
scanf("%d",&y);
while (x!=y)
{ x=1;
y%x = reste;
if (reste=0)
{ printf("ce nombre n est pas premier.\n");
}
else x++;
}
printf("ce nombre est premier\n");
system ("pause");
} |
Re: algo sur les nombres premiers : probleme de complation
Citation:
Envoyé par Mr SHoBi
j'ai ecrit le programme, et à la compilation, le compilateur m indique pls erreurs.
Oh le vilain compilateur !
Deboguage. Je te laisse corriger les erreurs de logiques (relis la défintion d'un nombre premier). Pose des questions si tu ne comprends pas.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
#include <stdlib.h>
/* ajoute. */
#include <stdio.h>
/* -ed-
void main()
main() retourne int. Toujours.
*/
int main (void)
{
int y, x, reste;
/* -ed-
x <= y;
Cette expression n'a aucun effet.
Tu voulais faire quoi ?
*/
/* -ed- manque <stdio.h> */
printf ("taper le nombre que vous voulez connaitre :\n");
scanf ("%d", &y);
/* -ed-
x n'a jamais ete initialise'.
Le comportement est indefini.
*/
while (x != y)
{
x = 1;
/* -ed-
y%x = reste;
Les assignations se font de droite à gauche.
La partie droite est une expression.
La partie gauche est une variable.
*/
reste = y % x;
/* -ed-
if (reste = 0)
l'operateur de comparaison est '==' et non '='. */
if (reste == 0)
{
printf ("ce nombre n est pas premier.\n");
}
else
{
x++;
}
}
printf ("ce nombre est premier\n");
/* -ed-
Comme main() retourne int,
on retourne quelque chose de valide...
*/
return 0;
} |