voila j´ai un petit exercice a faire.
Certainement simple pour vous mais pour moi l´informatique c´est pas mon dada...
"Ecrire un algorithme qui permette de saisir une date (jour, mois, année) et qui calcule le nombre de jours ecoulés depuis le 1er janvier(=> cette dateest le Nieme jour de l´année).
Aide: toutes les années divisibles par 4 sont bissextiles( => 366jours/an et non 365).
Toutefois, les années divisibles par 100(et donc par 4...) ne sont pas bissextile,SAUF les années divisibles par 400, qui sont bissextiles."
Voila si vous y arrivez je vous en serais tres reconnaissant car la je bloque.
Deja si vous arrivez a dechiffrer mathématiquement le probleme ca m´aiderait bien.
watza, help :x
void main()
{
int jour=0;
int moi=0;
int an=0;
bool bisextile=false;
cout<<"Veuillez saisir le jour";
cin>>jour;
cout<<"Veuillez saisir le moi";
cin>>moi;
cout<<"Veuillez saisir l´an";
cin>>an;
if(an%4=0 || (an%100=0 && an%400=0))
bisextile=true;
else bisextile=false;
int nb_moi_jour[12];
nb_moi_jour[0]=...=31, puis 29 et ainsi de suit.
int nb_jour=0;
for(i=0;i<(moi-1);i++)
nb_jour+=nb_moi_jour[i];
nb_jour+=jour;
cout<<"Nombre jour écoulé depuis le 1er Janvier"<<nb_jour;
system("pause");
}
Voila, fais longtemps que j´ai pas fait de C++(=´(), donc j´ai plus trop la syntaxe en tête.
Mais sinon question algo, spa très dûr.
C´est pour quelle classe ?
+ ![]()
if(an%4=0 || (an%100=0 && an%400=0))
Ici c´est faux, atta je réfléchis.
if(an%100=0 && an%400=0)
bisextile=true;
else if(an%4=0)
bisextile=true;
else
bisextile=false
et j´ai oublié le conditionnement quand au 29ème jour...
nb_moi_jour[6]=((bisexitile)?28:29);
etc.
lol février c´est le 9ème jour.
nb_moi_jour[2]=((bisexitile)?28:29);
et ici c´est plutôt : nb_jour+=nb_moi_jour[i+1];
^^
pas facile
heuuuuuuu ?
ok merci l´ami
Langage C++ c´est a peu pres pareil que le langage IDL non?
c´est pour une deuxieme année de fac de geologie: initiation a la programmation
J´connais pas IDL.
Le C++ c´est un langage de bas niveau. IDL a l´air d´être au niveau et plus orienté math.
Par ex avec le C++, tu peux gérer la mémoire, les composants, accéder au BIOS, etc(d´où le terme de bas niveau, plus tu te rapproches du langage du processeur) tandis que IDL ça a l´air d´être orienté surtout math & algorithme, donc haut niveau. Sinon wikipedia dit que la syntaxe est semblable.
En C++ tu as las conception objet, mais m´étonnerait que tu vois ça !
Il me semble bien que le prof nous as dit que le langage IDL est derivé du langage C++(plus connu) mais en plus facile et en plus adapté pour notre niveau.
quand tu met "int" devant ca veut dire quoi exactement?
desole si mes questions te paraisse ridicule mais l´informatique me saoule et j´y comprend pas grand chose
non pas de problême, c´est de la programmation là
et faut un minimum de connaissance.
En fait, int signifie qu´à la variable placé devant, j´alloue une place d´une certaine taille dans la ram(mais secondaire), et surtout que je lui donne le type d´un entier, c´est à dire qu´il ne peut être que des valeurs entières.
bool signifie booléen et correspond au valeur booléenne(true or false)
tu as float pour les grands nombres, char pour les chaines de caractères, etc...
![]()
ouais on a vue les differents types de variables
entier, entier non signé, reel a virgule flottante, chaine alpha numerique etc...
donc int c´est pour dire qu´on utilise des entiers(valeurs qui vont de -2exposant15 a 2exposant15 )
on a egalement vu vite fait les operateur booléen: true or false
en fait c´est que j´ai un peu de mal a adapter ce que tu m´as dit avec la facon dont on doit l´ecrire en IDL(on a fait quelque exemple et ca parait simple comme on fait mais bon...)
Utilise plutôt la notation binaire pour parler des valeurs d´encadrement.
int de mémoire va plutôt aux alentours de 6.10^4 en signed.
cad 8 octets(si mémoire est bonne) soit 8^8 possibilité, cad 2^24
Heu ou as tu dû mal ? ![]()
les "cout" et les "cin" ca veut dire quoi exactement?
et puis nb_moi_jour[6] ? ca veut dire quoi en francais? le 6 represente quoi?
cout c´est les sorties, cin les entrées
(avec un cout, tu affiches à l´écran, avec un cin tu récupères la valeur de la variable à partir du clavier)
nb_moi_jour c´est une matrice de dimension 1. ^^
En fait, c´est un tableau. c´est comme 12 variables : on prend l´élément à l´emplacement nb_moi_jour[0](on part de 0 en info) jusqu´à 11.
Ici dedans, je stock le nombre de jour en fonction du moi. Et grace à bisextile, tu peux savoir le nb de jour en février. ^^
ouai je vois
donc nb-jour-moi[6] c´est pour la 7eme colonne du tableau?
mais donc du coup ce que je capte pas(desole encore une fois d´etre aussi nul) c´est pas l´informatique mais "l´aspect mathematique".
comment tu passe des jours au moi et dans ton algorithme c´est exprimé en mois? en jour?
je suis un peu perdu et je coris que je melange tout mais je te remercie pour les reponses que tu me donnes
donc si j´ai (un peu) compris
nb-jour-[0]=31
nb-jour[1]= 28 ou 29 comment on le sait?
nb-jour[2]=31
nb-jour[3]=30 (car 30 jours en avril)
etc
Oui et ainsi de suite.
if(bisexitile)
nb-jour[1]= 29;
else
nb-jour[1]= 28;
En fait, c´est simple.
L´année entrée te permet simplement de savoir si on est dans une année bisextile ou pas.
Le moi & le tableau des jours en fonction du mois te permettent de calculer le nombre de jour écouler de puis le moi que tu as fixé(on ajoute à chaque fois)
Dès qu´à la fin de la boucle on est arrivé au moins en cours, on somme le jour du moi pour arriver au nombre de jour depuis le 1er janvier ![]()
donc je recapepette...
void main()
{
int jour=0;
int moi=0;
int an=0;
bool bisextile=false;
cout<<"Veuillez saisir le jour";
cin>>jour;
cout<<"Veuillez saisir le moi";
cin>>moi;
cout<<"Veuillez saisir l´an";
cin>>an;
if(an%100=0 && an%400=0)
bisextile=true;
else if(an%4=0)
bisextile=true;
else
bisextile=false
int nb_moi_jour[12];
nb_moi_jour[0]=...=31, puis 29 et ainsi de suit.
if(bisexitile)
nb-jour[1]= 29;
else
nb-jour[1]= 28;
(la partie qui vient j´ai pas tout compris non plus: je sais je dois etre super chiant mais grace a toi j´ai presque tout compris sauf ce dernier paragraphe) Merci!
int nb_jour=0;
for(i=0;i<(moi-1);i++)
nb_jour+=nb_moi_jour[i];
nb_jour+=jour;
cout<<"Nombre jour écoulé depuis le 1er Janvier"<<nb_jour;
system("pause");
le for signifie quoi? un intervalle?
et je comprends pas trop la signification de tes "+" egalement