Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher le min, moyenne et max

    21 novembre 2014 à 18:30:53

    Bonsoir,

    J'ai fais une erreur mais je ne vois pas ou elle est. Pouvez vous m'aider svp. 

    Enoncé: 

    Écrivez la fonction minAvgMax, prend un tableau en paramètre, calcule le minimum, la moyenne, et le maximum de ses valeurs, et renvoie un tableau contenant ces trois entiers (dans cet ordre-là).

    Ce que j'ai fais:

    public static int[] minAvgMax(int[] array) {
    
            
            
            int m=array[0] ;
            int s=0;
            int a=array[0];
            int b[]= {m, s, a};
            for(int i=1 ;i < array.length ;i++) 
            {
                if(m < array[i]){
                    m=array[i];
                }
            }
            
            for(int j=0 ;j < array.length;j++) {
                s=s+array[j];
                double v=(double)s/array.length;
            }
            
            for(int y=1 ;y < array.length ;y++){
            
                if(a < array[y]){
                    a=array[y];
                }
            }
            
            return b;
            
            
    
        }
    

    Merci d'avance

    Bonne soirée

    • Partager sur Facebook
    • Partager sur Twitter
      21 novembre 2014 à 21:19:18

      Bonsoir, quelque chose comme ceci ?
      public static int[] minAvgMax(int[] array) {
        int min=array[0] ;
        int sum=array[0] ;
        int max=array[0];
        for(int i=1 ;i < array.length ;i++) {
          sum = sum + array[i];
          if(array[i] < min){
            min = array[i];
          }
          if(array[i] > max){
            max = array[i];
          }
        }
        return int [min, moy, max];
      }
      • Partager sur Facebook
      • Partager sur Twitter
      Comar
      Anonyme
        22 novembre 2014 à 9:13:51

        Regarde plutôt du côté de la librairie Math
        • Partager sur Facebook
        • Partager sur Twitter
          24 novembre 2014 à 20:19:47

          Bonsoir. Voici la solution que je propose :

          public class Programme
          {
          	public static int[] minAvgMax(int[] array)
          	{		
          		int[] res = new int[3];
          		for(int i = 0 ; i < 3 ; i++)
          			res[i] = -1;
          		
          		if (array.length == 0)
          			return res;
          		
          		int min = array[0];
          		int max = array[0];
          		int moyenne = 0;
          		for (int i = 0 ; i < array.length ; i++)
          		{
          			if (array[i] < min)
          				min = array[i];
          			
          			if (array[i] > max)
          				max = array[i];
          			
          			moyenne += array[i];
          		}
          		
          		moyenne /= array.length;
          		
          		res[0] = min;
          		res[1] = moyenne;
          		res[2] = max;
          		
          		return res;
              }
          	
          	public static void main(String[] args)
          	{
          		int[] tab = {3,6,4,12};
          		int[] res = minAvgMax(tab);
          		
          		System.out.println(res[0] + " " + res[1] + " " + res[2]);
          	}
          }

          En espérant que ça t'aidera

          • Partager sur Facebook
          • Partager sur Twitter
            24 novembre 2014 à 21:55:28

            krilius a écrit:

            Bonsoir. Voici la solution que je propose :

            public class Programme
            {
            	public static int[] minAvgMax(int[] array)
            	{		
            		int[] res = new int[3];
            		for(int i = 0 ; i < 3 ; i++)
            			res[i] = -1;
            		
            		if (array.length == 0)
            			return res;
            		
            		int min = array[0];
            		int max = array[0];
            		int moyenne = 0;
            		for (int i = 0 ; i < array.length ; i++)
            		{
            			if (array[i] < min)
            				min = array[i];
            			
            			if (array[i] > max)
            				max = array[i];
            			
            			moyenne += array[i];
            		}
            		
            		moyenne /= array.length;
            		
            		res[0] = min;
            		res[1] = moyenne;
            		res[2] = max;
            		
            		return res;
                }
            	
            	public static void main(String[] args)
            	{
            		int[] tab = {3,6,4,12};
            		int[] res = minAvgMax(tab);
            		
            		System.out.println(res[0] + " " + res[1] + " " + res[2]);
            	}
            }

            En espérant que ça t'aidera

            Bonsoir.

            Utiliser un tableau pour y stocker 3 résultats complètements différents est très moche : mieux vaut déclarer une classe (simple structure sans traitement particulier), ayant des attributs ou accesseurs ayant des noms explicites.

            • Partager sur Facebook
            • Partager sur Twitter
            Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)
              12 avril 2020 à 17:11:51

              bonjour a vous, je ne trouve pas pourquoi mon mini est 0 alors que ne saisi pas 0 dans mon tableau?

              public static void main(String[]args) {

              int tabN[] = new int [9];		
              int lPGrand = 0;
              int lPPetit =0;
              int resultatT = 0;
              //demande de 9 nombres
              for ( int i = 0; i&lt;9; i++) {   
              	Terminal.ecrireString("veuillez saisir un nombres : "); 
              
              	tabN[i] = Terminal.lireInt();
              
               if (tabN[i] &gt; lPGrand) 
              	lPGrand = tabN[i];
              
               if (tabN[i] &lt; lPPetit) 			
              	lPPetit = tabN[i];
              
              }	
              resultatT = tabN[0]+tabN[1]+tabN[2]+tabN[3]+tabN[4]+tabN[5]+tabN[6]+tabN[7]+tabN[8];
              
                  Terminal.ecrireStringln("total des nombres : "+ resultatT);		
                  //total des nombres
              
              	// nombre le plus gand	
                  Terminal.ecrireStringln(" le nombre le plus grand est : "+lPGrand);
              				    		 
              	//nombre le plus petit
               	Terminal.ecrireStringln(" le nombre le plus petit est : "+ lPPetit);
              
               }
              

              }

              -
              Edité par JohnnyLefray1 12 avril 2020 à 17:31:16

              • Partager sur Facebook
              • Partager sur Twitter

              djobar

                12 avril 2020 à 17:36:23

                JohnnyLefray1 a écrit:

                bonjour a vous, je ne trouve pas pourquoi mon mini est 0 alors que ne saisi pas 0 dans mon tableau?

                int lPPetit =0;



                Si tu as tapé des nombres positifs, 0 est plus petit qu'eux.

                • Partager sur Facebook
                • Partager sur Twitter
                  13 avril 2020 à 18:59:16

                  du coup que puis-je ecrire stp?

                  -
                  Edité par JohnnyLefray1 13 avril 2020 à 19:03:19

                  • Partager sur Facebook
                  • Partager sur Twitter

                  djobar

                    13 avril 2020 à 21:06:38

                    Si le tableau n'est pas vide, il se trouve que le minimum (*) correspond à un élément qui existe dans le tableau.

                    Et si on commençait par regarder le premier ?

                    (*) le maximum aussi

                    -
                    Edité par michelbillaud 13 avril 2020 à 21:08:03

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Afficher le min, moyenne et max

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown