Division entiere et modulo pour trouver temps [Résolu/Fermé]

Signaler
Messages postés
55
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
2 juin 2009
-
Messages postés
55
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
2 juin 2009
-
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

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 766
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
Messages postés
55
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
2 juin 2009
3
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..
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 766
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.
;)
Messages postés
55
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
2 juin 2009
3
Ok, merci. Ca devrais marcher...