Aide pour un petit algorithme

Résolu
albert0 Messages postés 249 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 9 août 2008 - 30 oct. 2004 à 11:52
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 2 nov. 2004 à 17:08
Salut all.

voila,je voulais savoir si quelu'un peut me dire comment on fait pour calculer le nombre de Jour entre deux date donné? ( a savoir que j'ai deja fait une fonction qui me retourne les année bisextille et une function qui me retourne le nombre de jour d'un mois donné) ?

en cpp ou vb ou ada, bref peu importe le language, enfet il y a juste le pricipe qui m'interesse

voila :)

d'avance merci!

15 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 nov. 2004 à 17:08
c'ets une moyenne, un an sur 4 est bisextile, donc a un jour de plus, et un mois sur deux a 31 jours, (a part févrié) enfin voila mon calcul n'est pas exact car c'ets une moyenne, mais si t'as pas besoin de bcp de précision alors c'est bon...
3
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
30 oct. 2004 à 13:05
tu compte combien tu a de chaque mois entre les deux date dans un tableau :

int countMonth[12]={0,0,0,0,0,0,0,0,0,0,0,0};
int numberOfDayInMonth[12]={31,28,31,30,31... ect};

et apres tu fais la somme des countMonth[i]*numberOfDayInMonth[i]

et apres du rajoute les annees bisextilles
0
albert0 Messages postés 249 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 9 août 2008
30 oct. 2004 à 17:05
ouais :)

mais justement je veu pas utiliser des fonctions "deja faite.."

comme numberofday etc...

je veu savoir le PRICINPE..

voila
0
albert0 Messages postés 249 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 9 août 2008
30 oct. 2004 à 17:05
ouais :)

mais justement je veu pas utiliser des fonctions "deja faite.."

comme numberofday etc...

je veu savoir le PRICINPE..

voila
0

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

Posez votre question
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
30 oct. 2004 à 18:08
mais c'est pas une fonction, c'est un tableau, de toute maniere il faut bien que tu stockes quelque part des donnees, et pourquoi pas dans un tableau ?
0
albert0 Messages postés 249 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 9 août 2008
30 oct. 2004 à 18:13
bon voila j'ai trouvé

moi je voudrai savoir, si il y a aps uen meilleur solution ?

donc:

prenons 2 date

le 1 / 05 / 2005 et le 1 / 6 / 2007

donc je calcule le nombre de jours entres les 2 années

donc 2006 = 365 J

ensuite
le nombre de jours entre le mois de la premiere date et la fin de son anné

donc le 1/06 et le 31/12 = 214 J

Le nombre dejours entre le début de l'année et la date 2
donc entre 01/01 et 31/05 = 151
puis
entre la premiere date et la fin de son mois
1/05 et 31/5 = 30 jours
et etre la deuxieme date et le début de son mois

donc 1 jour..

365 + 151 + 1 +214 = 761

y a t il plus simple??

merci
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
30 oct. 2004 à 18:21
ou sinon tu fais un fonction qu calcul le nombre de jours entrele debut d'une anne et un jour de cette meme annee, puis tu calcules une difference mais bon ca revient au meme que ta methode. Je ne pense pas qu'il y ai de methode "magique", c'est un calcul "chiant" a faire, et il faut le faire.
0
albert0 Messages postés 249 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 9 août 2008
30 oct. 2004 à 18:27
hmm d'accord , d'accord!

mais ta méthode des tableau? j'ai pas super bien compris
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
31 oct. 2004 à 00:09
avec les tableaux, c'etait pour compter le nombre de jours dans plusieurs mois, par exemple dans 3 mois de Janvier et 5 moi d'Octobre (3*31+5*31), c'etait une methode pour compter le nombre de jours connaisant les nombres de mois.
0
cs_magma Messages postés 198 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 18 mars 2011
31 oct. 2004 à 18:45
Salut,

NombreJours = JourJulienDate2 - JourJulienDate1

Regarde mes sources (Calendriers...)
0
albert0 Messages postés 249 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 9 août 2008
31 oct. 2004 à 20:02
oulalal, oui j'ai regarder,,

mais dans la fonction JourJulienDate

y a plein de truc bizzard, y a des chiffre genre 245624 qui sorte de je ne sais ou :D

bref.. pas trop compris la fonction :)
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 nov. 2004 à 21:36
tu fais l'une moins l'autre
annes=annes1-annes2;
moins=mois1-mois2;
jours=jours1-jours2;

annes=annes*365.25;
mois=mois*30.5;
jours+=annes+mois;

if ( jours < 0 ){
jours=-jours;
}

évidement, il faudrait plutot fairre des boucles pour savoir quand tombes les annés bisextiles, ou encore les mois de 30 29 28 ou 31 jours...
mais c'ets une solution
0
albert0 Messages postés 249 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 9 août 2008
2 nov. 2004 à 15:18
d'accord!!! effectivement j'ai fait le calcul a la main et ca marche ! :O!!
merci!!

par contre j ai une toute petite question.. pourquoi 365.25 et 30.5 ?
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 nov. 2004 à 16:57
356.25 est le nombre dejour dans un an...
et 30.5 le nombre de jours dans un mois

j'ai tout converti en jours...
0
albert0 Messages postés 249 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 9 août 2008
2 nov. 2004 à 17:04
muhaha :D

elle était bonnn celle la ;)

non mais je voulais dire pour quoi .25 et . 30 ... ?? :S
0
Rejoignez-nous