none
je dois retrouver le nombre d'ccurence d'un chiffre minimum et d'un chiffre maximum RRS feed

  • Discussion générale

  • je dois retrouver le nombre d'ccurence d'un chiffre minimum et d'un chiffre maximum

    sous visual basic 10

    je sais créer mon tableau mais je n'arrive pas a trouver la solution mathematique

    pouvez-vous m'aider

    dois-je utiliser l'outil TableLayoutPanel1_Paint ?

    merci

    • Type modifié Aurel Bera lundi 18 novembre 2013 13:00 Discussion
    mercredi 6 novembre 2013 17:13

Toutes les réponses

  • Bonjour,

    Voilà le code à utiliser:

            Dim t() As Integer = {5, 9, 5, 4, 3, 4, 7, 4, 8, 3, 9, 3, 7, 5, 7}
    
            Dim min As Integer = t(0)
            Dim max As Integer = t(0)
    
            Dim occurrencesMin As Integer = 1
            Dim occurrencesMax As Integer = 1
    
            For i = 1 To t.Length - 1
                If t(i) < min Then
                    min = t(i)
                    occurrencesMin = 1
                ElseIf t(i) = min Then
                    occurrencesMin += 1
                End If
    
                If t(i) > max Then
                    max = t(i)
                    occurrencesMax = 1
                ElseIf t(i) = max Then
                    occurrencesMax += 1
                End If
            Next
    Est-ce que cela répond à votre question ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    jeudi 7 novembre 2013 09:53
    Modérateur
  • je n'arrive pas à construire mon tableau

    est-ce que je peux le faire avec tablelayoutpanel ?

    dans la colonne de gauche je place des labels pour numeroter mes colonnes ?

    dois-je mettre des inoutbox dans las colonne de droite ?

    ou bien je fais les demandes de numero avec des inputbox mais cela me fait sortir du tableau non ? ?

    merci


    • Modifié pazmany jeudi 7 novembre 2013 19:05
    jeudi 7 novembre 2013 19:02
  • Ne serait-il plus simple avec Linq ?

    C# Converti en VB.NET:

    Dim t As Integer() = New Integer() {5, 9, 5, 4, 3, 4, _
    	7, 4, 8, 3, 9, 3, _
    	7, 5, 7}
    
    Dim occMax As Integer = t.Count(Function(n) n = t.Max())
    Dim occMin As Integer = t.Count(Function(n) n = t.Min())

    Source C#:

    int[] t = new int[] { 5, 9, 5, 4, 3, 4, 7, 4, 8, 3, 9, 3, 7, 5, 7 };
    
    int occMax = t.Count(n => n == t.Max());
    int occMin = t.Count(n => n == t.Min()); 


    gabrielmongeon.com || LinkedIn

    jeudi 7 novembre 2013 21:23
    Modérateur
  • je n'ai pas C# je suis vraiment novice en visual basic 10
    jeudi 7 novembre 2013 22:24
  • Bonjour,

    J'ai du mal à comprendre ce que vous voulez faire un TableLayoutPanel... Le TableLayoutPanel est un contrôle visuel permettant de positionner vos contrôles.
    Pouvez-vous nous expliquer clairement votre besoin ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    vendredi 8 novembre 2013 08:30
    Modérateur
  • lorsque je tape le code qui m'a été donné sur la première réponse je n'ai pas de code d'erreur donc il fonctionne.

    main il ouvre ma form1 et rien d'autre ne se passe.

    vendredi 8 novembre 2013 12:41
  • j'ai besoin que la personne entre un certain chiffre de nombre et que le programme calcul les occurrences minimum et maximum.

    lorsque je tape le premier code des réponses tout est accepté par visual basic , mais c'est la form1 qui s’affiche et rien d'autre ne se passe.




    • Modifié pazmany vendredi 8 novembre 2013 12:49
    vendredi 8 novembre 2013 12:45
  • Bonjour,

    Voici un code qui demande à l'utilisateur de saisir des nombres et qui affiche les occurrences min et max de ces nombres :

            Dim t As List(Of Integer) = New List(Of Integer)()
    
            Dim saisieUtilisateur As String
    
            Do
                saisieUtilisateur = InputBox("Saisissez un nombre (STOP pour arrêter)")
    
                If saisieUtilisateur = "STOP" Then
                    Exit Do
                End If
    
                t.Add(Convert.ToInt32(saisieUtilisateur))
            Loop
    
            Dim min As Integer = t(0)
            Dim max As Integer = t(0)
    
            Dim occurrencesMin As Integer = 1
            Dim occurrencesMax As Integer = 1
    
            For i = 1 To t.Count - 1
                If t(i) < min Then
                    min = t(i)
                    occurrencesMin = 1
                ElseIf t(i) = min Then
                    occurrencesMin += 1
                End If
    
                If t(i) > max Then
                    max = t(i)
                    occurrencesMax = 1
                ElseIf t(i) = max Then
                    occurrencesMax += 1
                End If
            Next
    
            MsgBox(String.Format("Min = {0}, Occurrence = {1}", min, occurrencesMin))
            MsgBox(String.Format("Max = {0}, Occurrence = {1}", max, occurrencesMax))

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    vendredi 8 novembre 2013 13:52
    Modérateur
  • si l'utilisateur ne saisi pas de nombre et clique sur ok cela indique une erreur.

    je pensais mettre :  If saisieUtilisateur=() then msgbox ("veuillez saisir un nombre ou STOP pour arreter la saisie")

    mais cela ne fonctionne pas

    comment faire

    merci

    vendredi 8 novembre 2013 20:20
  • si je veux demander à l'utilisateur combien de valeurs il veut saisir.

    saisit ces valeurs dans un tableau.

    recherche et  affiche le nombre d’occurrence min et max du tableau.

    comment je dois faire ?



    j'aimerai construire ce programme de façon modulaire, c'est  à dire en découpant les traitements dans différentes fonctions.
    • Modifié pazmany vendredi 8 novembre 2013 20:50
    vendredi 8 novembre 2013 20:46
  • Bonjour

    En place de      t.Add(Convert.ToInt32(saisieUtilisateur))
    Essayez avec :

       

    Dim number As IntegerDim result AsBoolean = Int32.TryParse(saisieUtilisateur, number) If result Then t.Add(number)

    End IF

        

    Pour la partager le code dans des modules, ca dépend de vos besoins.
    Je dirais qu'avoir une fonction qui remplis le tableau et avoir une autre fonction qui reçoit la liste et retourne comme paramètres out les min, max, et nombre d'apparition pour chaque ‘un.

    Cordialement,

    <o:p></o:p>



    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    lundi 11 novembre 2013 11:26
  • ça me fait bugger le programme. il ne s’arrête plus et ça ne demande pas combien de nombre on veut entrer
    lundi 11 novembre 2013 16:11
  • ça me fait bugger le programme. il tourne en boucle sans demander le nombre de chiffre à entrer
    lundi 11 novembre 2013 21:01
  • Bonjour,

    Pouvez-vous nous montrer le code que vous utilisez ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    lundi 11 novembre 2013 22:34
    Modérateur
  • 'voici le code :

    Public Class Form1

        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Dim t As List(Of Integer) = New List(Of Integer)()

            Dim saisieUtilisateur As String

            Do
                saisieUtilisateur = InputBox("Saisissez un nombre (STOP pour arrêter)")

                If saisieUtilisateur = "STOP" Then
                    Exit Do
                End If

                Dim number As Integer
                Dim result As Boolean = Int32.TryParse(saisieUtilisateur, number)
                If result Then t.Add(number)


            Loop

            Dim min As Integer = t(0)
            Dim max As Integer = t(0)

            Dim occurrencesMin As Integer = 1
            Dim occurrencesMax As Integer = 1

            For i = 1 To t.Count - 1
                If t(i) < min Then
                    min = t(i)
                    occurrencesMin = 1
                ElseIf t(i) = min Then
                    occurrencesMin += 1
                End If

                If t(i) > max Then
                    max = t(i)
                    occurrencesMax = 1
                ElseIf t(i) = max Then
                    occurrencesMax += 1
                End If
            Next

            MsgBox(String.Format("Min = {0}, Occurrence = {1}", min, occurrencesMin))
            MsgBox(String.Format("Max = {0}, Occurrence = {1}", max, occurrencesMax))

        End Sub
        Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
            Close()

        End Sub

        Private Function result() As Boolean
            Throw New NotImplementedException
        End Function

       

    End Class

    mardi 12 novembre 2013 07:41
  • Bonjour,

    ça me fait bugger le programme. il tourne en boucle sans demander le nombre de chiffre à entrer
    J'ai fait copier/coller de votre code et je n'arrive pas à reproduire votre problème... Pouvez-vous m'indiquer la sequence des nombre (et caractères invalides) que je dois saisir dans le InputBox pour reproduire votre problème ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    mardi 12 novembre 2013 23:46
    Modérateur
  • Le code que Gilles vous a présentée lis des numéros jusqu’au moment ou vous tapez STOP dans le InputBox, sans connaitre en avant le nombre des éléments de la liste.  

    Essayez de comprendre le code, c’est  vraiment simple.

    Je vous décris l’algorithme à implémenter  pour faire vous-même les modifications :

    Dans une boucle do/while essayez de lire un numéro positif. La condition de sortie de la boucle c’est d’avoir un nombre dans une variable. Il sera le nombre des éléments de la liste.

    Dans une autre boucle do/while vous essayez de lire les numéros de la liste.

    Si c’est bien un nombre vous incrémentez un compteur et ajoutez le nombre a la liste.

    La condition de sortie de la boucle c’est d’avoir le compteur égale avec le nombre des éléments qu’on le veut.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mercredi 13 novembre 2013 12:45
  • Bonjour,

    Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.

    Cordialement,

    Aurel


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    vendredi 15 novembre 2013 14:40
  • je cherche, je cherche mais je tourne en rond je n'y arrive pas.

    pouvez-vous m'aider ?

    merci

    mercredi 25 décembre 2013 23:00
  • j'ai bien sur testé les solutions proposées, mais je ne maitrise pas encore bien les fonctions des boucles et le départ de mon programme me pose un problème .

    Je dois demander combien de chiffre l'utilisateur veut entrer et je n'y arrive pas

    mercredi 25 décembre 2013 23:03
  • Bonjour,

    Quel code avez vous utilisé ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    dimanche 29 décembre 2013 16:52
    Modérateur
  • Bonjour,

    Quel code avez vous utilisé ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    dimanche 29 décembre 2013 23:13
    Modérateur