Aide pour un petit algorithme [Résolu]

Signaler
Messages postés
249
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
9 août 2008
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
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

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
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...
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
4
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
Messages postés
249
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
9 août 2008

ouais :)

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

comme numberofday etc...

je veu savoir le PRICINPE..

voila
Messages postés
249
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
9 août 2008

ouais :)

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

comme numberofday etc...

je veu savoir le PRICINPE..

voila
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
4
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 ?
Messages postés
249
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
9 août 2008

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
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
4
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.
Messages postés
249
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
9 août 2008

hmm d'accord , d'accord!

mais ta méthode des tableau? j'ai pas super bien compris
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
4
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.
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
1
Salut,

NombreJours = JourJulienDate2 - JourJulienDate1

Regarde mes sources (Calendriers...)
Messages postés
249
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
9 août 2008

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 :)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
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
Messages postés
249
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
9 août 2008

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 ?
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
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...
Messages postés
249
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
9 août 2008

muhaha :D

elle était bonnn celle la ;)

non mais je voulais dire pour quoi .25 et . 30 ... ?? :S