Boucle avec des nombre aleatoire en langage c

Fermé
dan00 Messages postés 7 Date d'inscription mercredi 6 juin 2012 Statut Membre Dernière intervention 8 juin 2012 - 6 juin 2012 à 20:58
dan00 Messages postés 7 Date d'inscription mercredi 6 juin 2012 Statut Membre Dernière intervention 8 juin 2012 - 8 juin 2012 à 16:35
Bonjour,
je souhait faire une boucle en language c qui acceptera la condition ( a+b+c nombrebase == && a2+b2+c2 == nombrebase && a3+b3+c3 == nombrebase && a!=b!=c!=a2!=b2!=c2!=a3!=b3!=c3)

En gros je veux que l ordinateur cherche toute les posibilites pour résoudre cette condition mais sa fait 2 jours que j arrive pas pouvez vous m aider? merci



A voir également:

7 réponses

aladin07 Messages postés 277 Date d'inscription vendredi 13 avril 2012 Statut Membre Dernière intervention 30 septembre 2012 30
6 juin 2012 à 21:31
Je vais essayer de le faire...
1
aladin07 Messages postés 277 Date d'inscription vendredi 13 avril 2012 Statut Membre Dernière intervention 30 septembre 2012 30
6 juin 2012 à 23:50
Voila, pour ta condition les solutions sont des equations je crois. Impossible d'avoir des solutions par qu'elles sont infinits.
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
7 juin 2012 à 16:22
En gros, tu veux par exemple les 9 nombres tel que :
1+2+20=23
3+4+16=23
5+6+12=23
?
Ton algorithme peut permettre de trouver une solution, mais pas de trouver toute les solutions, surtout avec une recherche aléatoire. Pour trouver toutes les solutions ainsi, il faudrait déjà savoir combien il y en a.
1
aladin07 Messages postés 277 Date d'inscription vendredi 13 avril 2012 Statut Membre Dernière intervention 30 septembre 2012 30
7 juin 2012 à 22:16
Une infinité. Il y a une infinité quelque soit le nombrebase. Les solutions sont des equations, c'est très difficile de les avoir
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
8 juin 2012 à 09:28
je ne pense pas qu'il y en ait une infinité, ça dépend des hypothèses. Si tu cherches des entiers positifs, tu vois rapidement une limite. des entiers relatifs, là il n'y en a plus.
0
dan00 Messages postés 7 Date d'inscription mercredi 6 juin 2012 Statut Membre Dernière intervention 8 juin 2012
6 juin 2012 à 21:53
ok merci bcp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dan00 Messages postés 7 Date d'inscription mercredi 6 juin 2012 Statut Membre Dernière intervention 8 juin 2012
7 juin 2012 à 15:55
donc imposible a faire ?
et es possible de faire des conditions dans une boucle ?
merci
0
dan00 Messages postés 7 Date d'inscription mercredi 6 juin 2012 Statut Membre Dernière intervention 8 juin 2012
7 juin 2012 à 18:37
nn je veux qui me donne que une seul solution aleatoire mais j arrive pas a générer le nombre aleatoire dans la boucle
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
7 juin 2012 à 21:10
montre déjà ce que tu as fait.
0
dan00 Messages postés 7 Date d'inscription mercredi 6 juin 2012 Statut Membre Dernière intervention 8 juin 2012
8 juin 2012 à 14:52
int main(int argc, char *argv[])
{
int nombrebase = 0;
int a = 1;
int b = 1;
int c = 1;
int a2 = 1;
int b2 = 1;
int c2 = 1;
int a3 = 1;
int b3 = 1;
int c3 = 1;
int i = 0;

printf("entre le nombre de base");
scanf("%d", &nombrebase);


if (nombrebase == a+b+c && a2+b2+c2 == nombrebase && a3+b3+c3 == nombrebase

&& a!=b!=c!=a2!=b2!=c2!=a3!=b3!=c3)
{
printf("%d %d %d\n", a, b, c);
printf("%d %d %d\n", a2, b2, c2);
printf("%d %d %d\n", a3, b3, c3);

}
else
{
while (nombrebase == a+b+c && a2+b2+c2 == nombrebase && a3+b3+c3 == nombrebase

&& a!=b!=c!=a2!=b2!=c2!=a3!=b3!=c3)

for(i=0; i<100;i++ ){
a = rand();

}


}return 0;}
0
dan00 Messages postés 7 Date d'inscription mercredi 6 juin 2012 Statut Membre Dernière intervention 8 juin 2012
8 juin 2012 à 14:53
mais s est la fin j arrive pas a ce que l ordinateure cherche tout les possibilites
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
8 juin 2012 à 15:12
Que crois tu faire avec ce bloc de code :
for(i=0; i<100;i++ ){
   a = rand();

} 
?
Il faut que tu fasses un rand() par variable.
a!=b!=c!=a2!=b2!=c2!=a3!=b3!=c3
je pense que ça ne fait pas ce que tu attends. cette instruction compare 'a' avec 'b' puis compare le résultat (vrai ou faux) avec c. Il ne t'assure pas du tout que toutes tes variables sont différentes. Il faut comparer explicitement toutes tes variables entre elles soit : 8+7+6+5+4+3+2+1=36 comparaisons (il me semble).
0
dan00 Messages postés 7 Date d'inscription mercredi 6 juin 2012 Statut Membre Dernière intervention 8 juin 2012
8 juin 2012 à 16:35
le probleme de comparaison est pas tres important
le bloc que tu a vu ne marche pas c pourquoi je suis sur se forum si tu peux m aider a se que l ordinateur chercher les chiffres possible (avec des nombres aleatoires) meci
0