Occurrences maximum et minimum

Résolu
H0rus Messages postés 2 Date d'inscription vendredi 21 juillet 2017 Statut Membre Dernière intervention 22 juillet 2017 - 21 juil. 2017 à 12:08
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 - 22 juil. 2017 à 01:14
Bonjour à tous et toutes,
Alors voila, je commence à apprendre à coder en C# et je dois écrire un programme qui demande à l'utilisateur combien de valeurs il veux saisir et stocker ces valeurs dans un tableau puis de retourner les valeurs maximales et minimales du tableau (jusque la pas de soucis), là ou je bloque c'est qu'il m'est également demandé d'afficher le nombre d'occurrences des valeurs maxi et mini, j'ai tenté plusieurs choses mais je n'arrive pas à trouver la solution et là le mal de crane me guette mdr, concrètement voila ou j'en suis du coup :
        static void Main(string[] args)
{
int NbValeurs;

Console.WriteLine("Combiens de valeurs (de type entiers) souhaitez vous saisir?"); //Saisie du nombre de valeurs souhaitées
NbValeurs = Convert.ToInt16(Console.ReadLine());

int[] tab = new int[NbValeurs]; //Déclaration du tableau

Console.WriteLine("Saisissez votre suite de valeurs:"); //Saisie des valeurs dans le tableau via la boucle "for"
for (int i = 0; i < NbValeurs; i++)
{
tab[i] = Convert.ToInt16(Console.ReadLine());
}
Console.WriteLine("Le minimum est {0}({1} occurrences), le maximum est {2}({3} occurrences) ", Minimum(tab), Maximum(tab)); //(RHAAA!)
Console.ReadKey();
}

static int Minimum(int[] tab) //Création de la méthode Minimum
{
int minimum = tab[0];
for (int i = 1; i < tab.Length; i++)
if (tab[i] < minimum) minimum = tab[i];
return minimum;
}
static int Maximum(int[] tab) //Création de la méthode Maximum
{
int maximum = tab[0];
for (int i = 1; i < tab.Length; i++)
if (tab[i] > maximum) maximum = tab[i];
return maximum;
}
}
}

Si quelqu'un pouvait me filer un petit tuyau avec deux ou trois explication sur la façon de procéder j'en serait reconnaissant :)

3 réponses

Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
21 juil. 2017 à 17:56
bonjour

            int minimum = tab[0];
            int occurence = 1;//là y'en a déjà 1

            for (int i = 1; i < tab.Length; i++)
            {
                if (tab[i] < minimum)
                {
                   minimum = tab[i];
                   occurence = 1;//on remet à 1, puisqu'on vient de changer
                }
                else if (tab[i] == minimum)
                {
                   occurence++;//on ajoute une occurence
                }
            }


1
H0rus Messages postés 2 Date d'inscription vendredi 21 juillet 2017 Statut Membre Dernière intervention 22 juillet 2017
22 juil. 2017 à 00:41
Aaah c'est parfait: clair, concis et efficace! Merci pour tout! :)
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
22 juil. 2017 à 01:14
De rien, pense à mettre le sujet résolu si ça te convient
0
Rejoignez-nous