IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Trouver un nombre dans un tableau avec une fonction


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 69
    Points
    69
    Par défaut Trouver un nombre dans un tableau avec une fonction
    bonjour a tous ;
    j'essaye de crée une fonction qui recherche un nombre plus grand que le tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    	public static int max(int x)
    	{
    		int temp = 0;
    		if(temp < x)
    		{
    		temp = x;
    		return temp;
    		}
    		else
    		{
    		return temp;
    		}
     
    	}
    ce code ne fonctionne pas si x est 5 puis 7 , la fonction me renvoie bien 7 par contre si je met ensuite le nombre 2 il me sort 2, comment je pourrais faire? c'est un exercice je doit utiliser uniquement une fonction?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    J'ai pas vraiment compris la question. Je suppose que t'as un tableau d'entier tab[] et tu veux le plus grand nombre dans ce tableau. (NB: Je vois pas le tableau dans ton code).

    Dans ce cas, je pense qu'en pseudo langage non testé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // Initialisation de tab
     
     
    max=tab[0]
    pour i allant de 1 jusqu'a la fin du tableau 
           faire
                 si tab[i]>max
                 faire
                     max=tab[i]
    retourner max

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 69
    Points
    69
    Par défaut
    merci rei pour ta réponse, mais mon exercice il faut que j'utilise une fonction donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    class LeMax
    {
       public static void main(String [] arg)
       {
        tab[]= {45,100,4,5689,1,9};
        for (i=0 ;i < 5; i++)
        {
          maxium =trouve( max(tab[i])
         }
        System.out.println("l'élément le plus élevé est :"+ maximum);
       }
       public static trouve(x)
       {
          //comment je peut réaliser ma fonction ?
    		int temp = 0;
    		if(temp < x)
    		{
    		temp = x;
    		return temp;
    		}
    		else
    		{
    		return temp;
    		}
     
       }
    }

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 41
    Points
    41
    Par défaut
    premiere proposition de solution (non testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    class LeMax
    {
       public static void main(String [] arg)
       {
        int[] tab= {45,100,4,5689,1,9};
        int maximum =trouve(tab);
        System.out.println("l'élément le plus élevé est :"+ maximum);
        }
     
       public static trouve(int[] tab)
       {
          int max=tab[0];
          for(int i=1;i<tab.length;i++)
          {
             if(max<tab[i])
               max=tab[i];
          }
          return max;
       }
    }

    //deuxieme solution

    Est-tu sûr de l'énoncé du problème ?

    //troisième solution

    Je sais pas.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 69
    Points
    69
    Par défaut
    merci de ton aide
    l'exercice consiste a manipuler les fonctions,
    par contre je pense qu'on ne peut pas envoyer un tableau en paramètre.

    si colle ton code sur eclispe il me met une erreur a la ligne tab[]

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 41
    Points
    41
    Par défaut
    il suffit de remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       public static trouve(int[] tab)
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       public static int trouve(int[] tab)
    juste pour etre sûr ta fonction trouve elle doit être static et sa signature (liste des arguments) est imposée comme tu l'écris ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 69
    Points
    69
    Par défaut
    merci cela fonctione très bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Remplacer des données dans un tableau avec une formule
    Par capnice dans le forum Excel
    Réponses: 7
    Dernier message: 23/05/2015, 22h12
  2. Réponses: 1
    Dernier message: 14/08/2014, 07h28
  3. ecrire dans un textarea avec une fonction
    Par nico le noob dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/05/2010, 16h46
  4. Ecrire dans un fichier avec une fonction itérative.
    Par katcha95 dans le forum Débuter
    Réponses: 6
    Dernier message: 22/11/2009, 18h40
  5. Réponses: 8
    Dernier message: 14/11/2005, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo