Un entier premier
angem20
-
loupius Messages postés 789 Statut Membre -
loupius Messages postés 789 Statut Membre -
je dois faire un code qui accepte deux nombre premier,j'ai fais ce code:
je veux savoir qu'est ce qu'il ne va pas,bon lors de la compilation,il n'ya pas d'erreur,c'est executable mais pas correct,ou est l'erreur??????!!!!!!!
#include<stdio.h>
#include<conio.h>
#include<math.h>
void premier(int nb)
{int i;
int a; //en fait c'est un booleen soit 1 soit 0,utile pour le "do while"
scanf("%d",&nb);
do
{
for (i=2;i<nb;i++)
if((nb%i)== 0)
{
printf("non premier,entrez de nouveau :\n");
scanf ("%d",&nb) ;
a=1;
}
else
a=0;
}
while((a==0)||(i==(nb-1)));
}
void main()
{int p,q;
premier(p);
premier(q);
getch();
}
je veux savoir qu'est ce qu'il ne va pas,bon lors de la compilation,il n'ya pas d'erreur,c'est executable mais pas correct,ou est l'erreur??????!!!!!!!
A voir également:
- Un entier premier
- Pourquoi certaines personnes apparaissent en premier sur messenger - Forum Facebook
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Décomposition facteur premier casio graph 35+e - Forum calculatrices
- Comment imprimer un tableau excel en entier - Guide
- Longueur ou largeur en premier ✓ - Forum Loisirs / Divertissements
2 réponses
Bonjour,*
S'il vous plaît
Merci
Au revoir
etc.
Sont monnaie courante quand on veut obtenir quelque chose !
Saine lecture...
A voir aussi
Merci de votre compréhension.
;-)
* Ne pas en tenir compte si présent dans le message initial, mais bon vu qu'il est ajouté automatiquement, ça ne fait pas de mal.
S'il vous plaît
Merci
Au revoir
etc.
Sont monnaie courante quand on veut obtenir quelque chose !
Saine lecture...
A voir aussi
Merci de votre compréhension.
;-)
* Ne pas en tenir compte si présent dans le message initial, mais bon vu qu'il est ajouté automatiquement, ça ne fait pas de mal.
angem20
je suis tellement desolée,j'ai cru que le "bonjour" s'ecrit par defaut dans ce site,je suis nouvelle,c'est la premiere fois que je poste une question dans un forum.desolée une autre fois
Ce qui ne va surtout pas, c'est la manière dont tu passes le paramètre du 'main' à la fonction 'premier'.
Passer la valeur de ton paramètre, fait que sa valeur ne sera pas changée.
Passer l'adresse de ton paramètre, fait que cette adresse ne sera pas changée (l'adresse étant une valeur comme une autre!)... par contre le contenu de cette adresse pourra être changé par la fonction et ce changement sera 'visible' par l'appelant.. Il faut ainsi modifier ton programme (j'ai 'ajouté' quelques simplifications):
Passer la valeur de ton paramètre, fait que sa valeur ne sera pas changée.
Passer l'adresse de ton paramètre, fait que cette adresse ne sera pas changée (l'adresse étant une valeur comme une autre!)... par contre le contenu de cette adresse pourra être changé par la fonction et ce changement sera 'visible' par l'appelant.. Il faut ainsi modifier ton programme (j'ai 'ajouté' quelques simplifications):
#include <stdio.h>
#include <stdlib.h>
void premier(int* nb)
{
int i;
printf("Entrez un nombre premier: ");
while(1)
{
scanf ("%d", nb) ;
for (i=2; i<*nb; i++)
if ((*nb%i) == 0)
break;
if (i == *nb)
break;
printf("\nNon premier,entrez de nouveau: ");
}
}
int main(void)
{
int p,q;
premier(&p);
premier(&q);
printf ("p=%d q=%d\n", p, q);
return (EXIT_SUCCESS);
}Bonne continuation.