Calculer la moyen en heur
Résolu/Fermé
Potame137
Messages postés
32
Date d'inscription
lundi 23 mai 2016
Statut
Membre
Dernière intervention
17 août 2020
-
Modifié le 4 juin 2018 à 17:13
Potame137 Messages postés 32 Date d'inscription lundi 23 mai 2016 Statut Membre Dernière intervention 17 août 2020 - 6 juin 2018 à 00:15
Potame137 Messages postés 32 Date d'inscription lundi 23 mai 2016 Statut Membre Dernière intervention 17 août 2020 - 6 juin 2018 à 00:15
A voir également:
- Calculer heur
- Calculer une moyenne sur excel - Guide
- Calculer alimentation pc - Guide
- Calculer une somme sur excel - Guide
- Virginie organise un rallye avec 30 équipes. elle veut créer un code pour désigner chaque équipe. elle a commencé à la main, mais elle voudrait le faire calculer à l'aide d'une formule. proposez une formule comportant une seule fonction et à recopier vers le bas dans la colonne a du fichier à télécharger. quelle formule sera en a9 ? ✓ - Forum Programmation
- Application pour calculer les km a pied - Télécharger - Sport
3 réponses
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
4 juin 2018 à 18:25
4 juin 2018 à 18:25
Bonjour,
Dans ton programme tu ne saisis que des heures mais il faudrait aussi saisir les minutes.
Le plus simple serait de faire tous tes calculs en minutes :
Exemple :
Dans ton programme tu ne saisis que des heures mais il faudrait aussi saisir les minutes.
Le plus simple serait de faire tous tes calculs en minutes :
Exemple :
System.out.print("Donner l'heure numero "+(i+1)+" : "); int heure = Lire.i(); // 5 System.out.print("Donner la minute numero "+(i+1)+" : "); int minute = Lire.i(); // 30 tab[i] = 60 * heure + minute; // 330
Potame137
Messages postés
32
Date d'inscription
lundi 23 mai 2016
Statut
Membre
Dernière intervention
17 août 2020
Modifié le 5 juin 2018 à 14:31
Modifié le 5 juin 2018 à 14:31
Bonjour mon programme prend en compte les heures et les minute mais je me retrouve avec des resulta comme 11.75 comment faire pour avoir des resulta simple comme 11h50 ?
package test; public class Calcule_Bancaire {public static void main (String[]args) {int N; int[]tab; int i; int max; int min; int compt; int total; System.out.print("Combient de relevés voulez vous calculer ? : "); N=Lire.i(); tab=new int[N]; System.out.println(" "); for(i=0;i<N;i++) {System.out.print("Donner l'heure numero "+(i+1)+" : "); int heure=Lire.i(); System.out.print("Donner la minute numero "+(i+1)+" : "); int minute = Lire.i(); int resulta = heure + minute / 60; tab[i] = resulta; } max=tab[0]; for(i=1;i<N;i++) {if(tab[i]>max) max=tab[i];} System.out.println("L'heur la plus haute est : "+max); min=tab[0]; for(i=1;i>N;i--) {if(tab[i]>min) min=tab[i];} System.out.println("L'heur la plus base est : "+min); compt=0; for(i=0;i<N;i++) {if(tab[i]==max) compt=compt+1;} System.out.println(" "); total =0 ; for(i=0;i<N;i++) {total=total+tab[i];} System.out.println("La moyenne vaut : "+(total*1.0)/N); } }
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
5 juin 2018 à 14:37
5 juin 2018 à 14:37
Il faut faire l'inverse du calcul
resulta = heure + minute / 60;c'est à dire calculer heure et minute à partir de la valeur qui n'est que en minutes, que tu afficheras ensuite
"La moyenne vaut : " + heure + "h" + minutepar exemple.
Potame137
Messages postés
32
Date d'inscription
lundi 23 mai 2016
Statut
Membre
Dernière intervention
17 août 2020
5 juin 2018 à 14:54
5 juin 2018 à 14:54
Bonjour je n'ai pas compri il faut faire l'inverse dû calcule ?
resulta = 60 / heure + minute ?
resulta = 60 / heure + minute ?
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
>
Potame137
Messages postés
32
Date d'inscription
lundi 23 mai 2016
Statut
Membre
Dernière intervention
17 août 2020
5 juin 2018 à 15:37
5 juin 2018 à 15:37
Oui, tu fais un changement d'unités, ça doit se faire dans les deux sens.
Au départ tu avais des heures et des minutes (ex: 1h30) et tu fais tes calculs tout en minutes (ex: 90 mn).
Une fois que tu as ton résultat (ex: 710 mn) tu dois faire la conversion à l'envers pour l'affichage (ex: 11h50).
Au départ tu avais des heures et des minutes (ex: 1h30) et tu fais tes calculs tout en minutes (ex: 90 mn).
Une fois que tu as ton résultat (ex: 710 mn) tu dois faire la conversion à l'envers pour l'affichage (ex: 11h50).
Potame137
Messages postés
32
Date d'inscription
lundi 23 mai 2016
Statut
Membre
Dernière intervention
17 août 2020
Modifié le 5 juin 2018 à 15:54
Modifié le 5 juin 2018 à 15:54
Apret modification je me retrouve avec des resulta comme :
Combient de relevés voulez vous calculer ? : 4
Donner l'heure numero 1 : 10
Donner la minute numero 1 : 30
Donner l'heure numero 2 : 11
Donner la minute numero 2 : 15
Donner l'heure numero 3 : 12
Donner la minute numero 3 : 35
Donner l'heure numero 4 : 16
Donner la minute numero 4 : 20
L'heur la plus haute est : 40
L'heur la plus base est : 36
La moyenne vaut : 29.75
je ne trouve pas comment prendre en compte les minute (60) dans le resulta cela viendrais t'il du faite que j utilise un tableau a une dimension ?
Combient de relevés voulez vous calculer ? : 4
Donner l'heure numero 1 : 10
Donner la minute numero 1 : 30
Donner l'heure numero 2 : 11
Donner la minute numero 2 : 15
Donner l'heure numero 3 : 12
Donner la minute numero 3 : 35
Donner l'heure numero 4 : 16
Donner la minute numero 4 : 20
L'heur la plus haute est : 40
L'heur la plus base est : 36
La moyenne vaut : 29.75
je ne trouve pas comment prendre en compte les minute (60) dans le resulta cela viendrais t'il du faite que j utilise un tableau a une dimension ?
public class Calcule_Bancaire</code>
{public static void main (String[]args)
{int N;
int[]tab;
int i;
int max;
int min;
int compt;
int total;
<code> System.out.print("Combient de relevés voulez vous calculer ? : ");
N=Lire.i();
tab=new int[N];
System.out.println(" ");
for(i=0;i<N;i++)
{System.out.print("Donner l'heure numero "+(i+1)+" : ");
int heure=Lire.i();
System.out.print("Donner la minute numero "+(i+1)+" : ");
int minute = Lire.i();
int resulta = 60 / heure + minute ;
tab[i] = resulta;
}
max=tab[0];
for(i=1;i<N;i++)
{if(tab[i]>max) max=tab[i];}
System.out.println("L'heur la plus haute est : "+max );
min=tab[0];
for(i=1;i>N;i--)
{if(tab[i]>min) min=tab[i];}
System.out.println("L'heur la plus base est : "+min);
compt=0;
for(i=0;i<N;i++) {if(tab[i]==max) compt=compt+1;}
System.out.println(" ");
total =0 ;
for(i=0;i<N;i++) {total=total+tab[i];}
System.out.println("La moyenne vaut : " +(total*1.0)/N);
}
}
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
>
Potame137
Messages postés
32
Date d'inscription
lundi 23 mai 2016
Statut
Membre
Dernière intervention
17 août 2020
5 juin 2018 à 16:03
5 juin 2018 à 16:03
int resulta = 60 / heure + minute ;c'est faux, je n'avais pas compris où tu le mettais.
Si tu comptes en minutes, il faut faire une multiplication
int resulta = 60 * heure + minute ;et tous
Le calcul qu'il faut inverser c'est entre tes résultats en minutes et tes affichage en heures, mais le tableau est hors de cause.
Potame137
Messages postés
32
Date d'inscription
lundi 23 mai 2016
Statut
Membre
Dernière intervention
17 août 2020
Modifié le 6 juin 2018 à 00:25
Modifié le 6 juin 2018 à 00:25
je pense avoir trouver, merci je penser pas que saiter un calculer aussi simple..! j ai chercher compliquer alors que saiter aussi simple merci !
Combient de relevés voulez vous calculer ? : 4
Donner l'heure numero 1 : 8
Donner la minute numero 1 : 30
Donner l'heure numero 2 : 10
Donner la minute numero 2 : 15
Donner l'heure numero 3 : 12
Donner la minute numero 3 : 10
Donner l'heure numero 4 : 16
Donner la minute numero 4 : 45
L'heur la plus haute est : 16
L'heur la plus base est : 8
La moyenne vaut : 715
les moyenne d'affluence est de : 11h10
package test;
public class Calcule_Bancaire
{public static void main (String[]args)
{int N;
int[]tab;
int i;
int max;
int min;
int compt;
int total;
{
System.out.print("Combient de relevés voulez vous calculer ? : ");
N=Lire.i();
tab=new int[N];
System.out.println(" ");
for(i=0;i<N;i++)
{System.out.print("Donner l'heure numero "+(i+1)+" : ");
int heure=Lire.i();
System.out.print("Donner la minute numero "+(i+1)+" : ");
int minute = Lire.i();
int resulta = 60 * heure + minute ;
tab[i] = resulta;
}
System.out.println(" ");
max=tab[0];
for(i=1;i<N;i++)
{if(tab[i]>max) max=tab[i];}
System.out.println("L'heur la plus haute est : "+max /60 );
min=tab[0];
for(i=1;i>N;i--)
{if(tab[i]>min) min=tab[i];}
System.out.println("L'heur la plus base est : "+min / 60);
compt=0;
for(i=0;i<N;i++) {if(tab[i]==max) compt=compt+1;}
System.out.println(" ");
total =0 ;
for(i=0;i<N;i++) {total=total+tab[i];}
System.out.println("La moyenne vaut : " +total/N);
int heuretotal = total/60 / N;
int minutetotal = total%60;
System.out.println("les moyenne d'affluence est de : "+heuretotal+ "h"+ minutetotal / N);
System.out.print("Voulez vous faire d'autre relevez ?O/N");
}
System.out.print("Fin programme");
}
}
Combient de relevés voulez vous calculer ? : 4
Donner l'heure numero 1 : 8
Donner la minute numero 1 : 30
Donner l'heure numero 2 : 10
Donner la minute numero 2 : 15
Donner l'heure numero 3 : 12
Donner la minute numero 3 : 10
Donner l'heure numero 4 : 16
Donner la minute numero 4 : 45
L'heur la plus haute est : 16
L'heur la plus base est : 8
La moyenne vaut : 715
les moyenne d'affluence est de : 11h10
4 juin 2018 à 18:28