Division entiere et modulo pour trouver temps

Résolu/Fermé
Maxianos Messages postés 55 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 2 juin 2009 - 9 sept. 2008 à 03:04
Maxianos Messages postés 55 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 2 juin 2009 - 9 sept. 2008 à 04:12
Bonjour, je vous explique mon probleme..

Je sais qu'il y a deja bcp de question sur ce sujet, mais pas exactement sur mon probleme.

Alors, j'ai des formules pour calculer le temps qu'un projectile lancé a une vitesse (V) et parcourant uen distance (D) passera dans les airs... Pour ca pas de probleme et cette formule me donne le temps en seconde..

Or, je dois afficher a la fin de mon programme le temps sous cette forme : Année, mois, jour, heure, minute, seconde.
Comme si la reponse de ma formule me donnais 3672 secones, je devrais obtenir :
0 années, 0 mois, 0 jour, 1 heure, 1 minute et 12 secondes...

Merci pour votre aide...
Je programme en C++ si sa peux vous aider, mais pour l'instant je ne dois faire que l'analyse, et non la programmation complete...

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
9 sept. 2008 à 03:16
Salut,
Je te conseille d'utiliser un tableau puisqu'il s'agit un problème de retenu.
Un tableau de 6 cases fera l'affaire (secondes, minutes, heures, jours, mois années).
Ensuite, soit X le nombre en secondes.
Tu fais une boucle sur chacun des indices du tableau, en commençant par les secondes.
tableau[i] <- X mod NB
X <- X div NB
i <- i + 1

NB vaut 60 pour les secondes, minutes, mais 24 pour les heures, etc. (Tu peux encore utiliser un autre tableau pour plus d'élégance).
Et ensuite t'affiches le tableau ;)
Je te laisse réfléchir dessus. Je pense que tu as suffisamment d'informations pour réussir l'algorithme ;)
Cdlt
0
Maxianos Messages postés 55 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 2 juin 2009 3
9 sept. 2008 à 03:26
Ouais ok, mais j'suis pas rendu tres loin en programmation et le professeur nous a dit qu'on devais faire ca qu'avec ce qu'on avait vu dans le cours (et on a pas vu grand chose a part les operations elementaire et quelques code)..

Il nous a donc dit : Pour faire ce calcul vous devez utiliser la division entière et le
modulo à répétition sur le temps total qui est calculé en secondes. Vous
n'avez pas besoin d'itération pour y parvenir.

C'est seulement que je ne sais pas comment transofrmé la réponse de seconde au format mentionné plus haut..
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
9 sept. 2008 à 04:06
Salut,
Ben, tu fais ce que je t'ai dit sans itérations et sans tableaux.

Tu as X en secondes.
secondes <- X mod 60
X <- X div 60
minute <- X mod 60
X <- X div 60
etc etc.
;)
0
Maxianos Messages postés 55 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 2 juin 2009 3
9 sept. 2008 à 04:12
Ok, merci. Ca devrais marcher...
0