begin process at 2012 05 29 05:26:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Exercice


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Exercice

mardi 18 novembre 2003 à 19:27:19 | Exercice

ASPerix

G un pb ou plutot un exo a faire en c (je suis etudiant en BTS info) kelk1 pourrait m'aider

Voila l'énoncé:

"Trouver une fraction égale à 9 telle que pour former les entiers du numérateur et du dénominateur, on utilise une seule fois chaque chiffre de 0 à 9."

Merci d'avance

Ben... j'ai pô de signature
mardi 18 novembre 2003 à 22:52:16 | Re : Exercice

D1m3x

2 . 4,5
---------
1

MDR :D je crois pas que c'est une frac comme ça qu'il te faut mais on sait jamais :d je sais pas comment la formuler en C++ :d

[DmX]
mercredi 19 novembre 2003 à 06:57:24 | Re : Exercice

djl


tu fou les chiffres de 0 a 9 dans un tableau, tu les passes en argument a une fonction qui les places aleatoirement dans ta fraction, l'operation est reiteré tant que la fraction n'est pas egal a 9
mercredi 19 novembre 2003 à 08:41:41 | Re : Exercice

garslouche

Voudrais pas t'affoler mais n'essaie pas de générer toutes les possibilités! Il y a en (10!)^2 = 13168189440000 çàd plus de 13 000 milliards!

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
mercredi 19 novembre 2003 à 08:50:36 | Re : Exercice

garslouche

Je te conseille de faire ceci:
tu génère toutes les possibiiltés de numérateurs (10! = 3 628 800 possibilités). Pour chacune tu divise par 9. Tu vas forcément tomber sur un entier. Et tu regardes si le nombre obtenu est bien constitué de tous les chiffres (dans un premier temps tu peux regarder si la somme des chiffres fait bien 45 pour éviter les longues vérifications)

Voilou, bon courage

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
mercredi 19 novembre 2003 à 08:54:09 | Re : Exercice

garslouche

Ah oui...j'oubliais...pour le numérateur, tu sais déjà qu'il est supérieur à 123457890 ! (le premier chiffre ne peut pas être 0) car même avec le plus petit dénominateur (0123456879) tu restes au dessus de 9.
Donc je te conseille de générer les numérateurs en commençant par 9876543210 et non par 0123456789
On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
mercredi 19 novembre 2003 à 10:01:50 | Re : Exercice

garslouche

Bon je l'ai fait...il y a des tas de solutions!

ex:
2960743185
-------------- = 9
0328971465

Par contre la première vérification (le total des chiffres=45) est inutile, c'est assez facile de vérifier que les chiffres sont tous présents.

Bon je ne te file pas le code parcequ'il faut qd même que tu bosses. Mais si tu as des questions n'hésite pas (inspire-toi de l'algo que j'ai donné quand même)

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
mercredi 19 novembre 2003 à 12:41:49 | Re : Exercice

djl

on utilise une seule fois chaque chiffre de 0 à 9

et pour ca ya pas 13mrd de possibilite!
l'exemple que tu donne ne respecte pas cette hypothese
mercredi 19 novembre 2003 à 13:43:32 | Re : Exercice

Stepharcher

essaye plutot (4+5)/(7-6)
en fait, ça dépend si tu doit utiliser tous les chiffres !

Stéph
mercredi 19 novembre 2003 à 15:35:54 | Re : Exercice

djl


voila une solution avec rand()
evidament c'est pas la meilleur vu que le temps de calcul a l'air d'etre long, au bout d'1 minute il avait encore rien trouver, je vais le laisser tourner pour voir et des que j'ai une solution je la poste(si j'en ai une un jour!)


#include <windows.h>
#include <iostream.h>
#include <stdlib.h>
#include <time.h>



bool exist(int n,int *t,int d)
{
int i;
for(i=0;i<d;i++)
{
if(n==t[i]) return true;
}
return false;
}

void genereOrdre(int* ordre)
{
int i;
for(i=0;i<10;i++)
{
do{
ordre[i]=rand()%10;
}while(exist(ordre[i],ordre,i));
}
}

void fraction(char *chiffre,int *res)
{
int i,ordre[10],t_num;
char num_[10],den_[10];
int num,den;

do
{
genereOrdre(ordre);
t_num=(rand()%7)+1;
for(i=0;i<t_num;i++)
{
num_[i]=chiffre[ordre[i]];
}
num_[t_num]='\0';
num=atoi(num_);

for(i=0;i<10-t_num;i++)
{
den_[i]=chiffre[ordre[i+t_num]];
}
den_[10-t_num]='\0';
den=atoi(den_);
Sleep(5);
}while((den*9)!=num);
res[0]=num;
res[1]=den;
}
void main()
{
char *chiffre={"0123456789"};
int res[2];
srand(time(NULL));

fraction(chiffre,res);
cout<<"num="<<res[0]<<" den="<<res[1]<<endl;

}

1 2

Cette discussion est classée dans : exercice


Répondre à ce message

Sujets en rapport avec ce message

exercice [ par mery ] salut a tous et a toutes le prof nous a donner un exercice a faire a la maison mais j'ai eu des erreurs enfin bcp des erreurs :-)l'exercice est " une exercice tableau 2D pdcg et premier de deux entiers [ par ZeusRoot ] Melook Media enr.Voici ma question : Je suis un debutant en C et je voudrais savoir comment aborder ce exercice.Enonce1.- Pour un nombre e exercice en C++ [ par ray91 ] Bonjour, Je recherche un site où je puisse télécharger des exercices a faire en C++ avec les boucles,test... (je debute). J'ai fait des recherches via aide pour un exercice [ par cppfr ] Bonjour seriez vs ou je pourrai trouver le corrigé sur un "tableau sécurisé et gestion dynamique de la mémoire"MerciC'est urgent svp :'( Warning sous linux 10.1 --> comprend rien [ par Marceleeuuh ] hello tout le monde. une petite question en ce qui concerne un warning que j'ai eu sous Linux 10.1. j'ai fait un petit programme tout bete pour calcul un ptit exercice [ par aladdin_wydadi ] Salut tt le monde je suis un étudiant débutant en c .J'ai un ptit exercice a faire si possible vous pouvez m'aidez avec vos idées .L'énoncé d'exercice un ptit probleme [ par aladdin_wydadi ] je suis un etudiant débutant en langage c ; j' ai un exercice je veux ke vous m'aiderez si c possible ;alors pour l' énoncé d'exercice c'est la conver Problème avec une classe [ par Freeskieur ] Hello,Je connais assez bien les classes mais là j'ai une spécialité et je capte pas comment il faut faire pour que ca passe.Ca foire sur la ligne ou i probleme Exercice sur Types et declaration svp [ par djedu59 ] bonjour tout le monde ,je tient dabord a me presenter car je suis tout nouveau sur le site et dans le domaine de la programmation, voila il y a quelqu exercice matrice [ par sporta01 ] Salut à toutes et à tous ,j'ai pas bien compris un exercice de matrice en C,l'exercice consite à changer la forme d'une matrice cad les lignes horizon


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales