minimoix
Messages postés6Date d'inscriptionmardi 10 mai 2016StatutMembreDernière intervention28 mai 2016
-
Modifié par BunoCS le 11/05/2016 à 16:13
Whismeril
Messages postés19036Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 2 mai 2024
-
11 mai 2016 à 16:18
bonjour,
j'ai un devoir a rendre, mais je suis bloqué sur un exercice et j'aurai besoin de votre aide !
voici l'énoncé:
écrivez un programme qui:
-demande a l'utilisateur de combien de valeurs (de type entier) il veut saisir
-saisit ces valeurs en les stockant dans un tableau
-recherche et affiche le nombre d'occurrences des valeurs maximales et minimales du tableau
par ex si l'utilisateur saisit les valeurs suivantes:
3 9 5 3 4 6 9 3 7 3
le programme affichera:
le minimum est 3 (4 occurrences), et le maximum est 9 (2 occurrences)
j'ai deja fais tout le programme je bloque juste sur le nombre d'occurrences, je sais que je dois faire une boucle et non pas une fonction pour trouver celle ci voici le code de mon programme:
Module Module1
Function minimumtab(ByVal tab() As Integer, ByVal nombres As Integer) As Integer
Dim minimum = tab(0), i As Integer
For i = 1 To nombres - 1
If tab(i) < minimum Then minimum = tab(i)
Next
minimumtab = minimum
End Function
Function maximumtab(ByVal tab() As Integer, ByVal nombres As Integer) As Integer
Dim maximum = tab(0), i As Integer
For i = 1 To nombres - 1
If tab(i) > maximum Then maximum = tab(i)
Next
maximumtab = maximum
End Function
Sub Main()
Dim tab(20), nbvaleurs, i As Integer
nbvaleurs = InputBox("saisissez le nombres de valeurs à traiter(< 20):")
For i = 0 To nbvaleurs - 1
tab(i) = InputBox("saisissez la valeur n°" & i)
Console.WriteLine(tab(i))
Next
Console.WriteLine("le minimum est :" & minimumtab(tab, nbvaleurs))
Console.WriteLine("le maximum est :" & maximumtab(tab, nbvaleurs))
Console.Read()
End Sub
jattends vos reponses avec impatience !!!! merci beaucoup
vb95
Messages postés3473Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention30 avril 2024169 Modifié par vb95 le 10/05/2016 à 18:08
Bonjour
Quel VB utilises-tu ?
Qu'attends-tu pour la faire cette boucle
Au début le compteur d’occurrence est à 0
Tu parcours tout ton tableau dans une boucle For
Dans la boucle tu testes si la valeur du tableau est égale à la minimale ou maximale selon le cas
si oui tu augmentes le compteur d'occurrence de 1
en fin de boucle tu as le nombre d'occurrence
Et en étant malin tu peux faire les 2 occurrences dans la même boucle avec deux compteurs distincts
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
re , deja merci de m'avoir repondu ! j'utilise visual basic 2008.
j'ai suivi ton raisonnement du moins j'ai essayé, voila ce que ca donne: ( mais il me dit que pour 0 : erreur de syntaxe je comprends pas trop )
code#
for occmini = 0 If tab(i) = minimumtab(tab, nbvaleurs) Then occmini = occmini + 1
End If Next for occmaxi = 0 If tab(i) = maximumtab(tab, nbvaleurs) Then occmaxi = occmaxi + 1
End If Next
Console.WriteLine("le minimum est :" & minimumtab(tab, nbvaleurs) & " , " & occmini & "occurrences") Console.WriteLine("le maximum est :" & maximumtab(tab, nbvaleurs) & " , " & occmaxi & "occurrences") Console.Read() End Sub
et si je fais dans la meme boucle le probleme est le meme
for occmini = 0 and occmaxi = 0 If tab(i) = minimumtab(tab, nbvaleurs) Then occmini = occmini + 1 ElseIf tab(i) = maximumtab(tab, nbvaleurs) Then occmaxi = occmaxi + 1 End If Next
occmini = 0 And occmaxi = 0 For i = 0 To tab.Length - 1 If tab(i) = minimumtab(tab, nbvaleurs) Then occmini = occmini + 1 ElseIf tab(i) = maximumtab(tab, nbvaleurs) Then occmaxi = occmaxi + 1 End If Next <code>
</code>
ca a l'air de marcher !!
vb95
Messages postés3473Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention30 avril 2024169 11 mai 2016 à 15:22
Comme ceci cela marchera beaucoup mieux
Dim occmini as Integer= 0 Dim occmaxi as Integer= 0 For i = 0 To tab.Length - 1 If tab(i) = minimumtab(tab, nbvaleurs) Then occmini = occmini + 1 If tab(i) = maximumtab(tab, nbvaleurs) Then occmaxi = occmaxi +1 Next Console.WriteLine("le minimum est :" & minimumtab(tab, nbvaleurs) & " , " & occmini.ToString & "occurrences") Console.WriteLine("le maximum est :" & maximumtab(tab, nbvaleurs) & " , " & occmaxi.Tostring & "occurrences") Console.Read()
rajoute dans les propriètés de ton projet Option Strict sur On et Option Explicit sur On et corrige les erreurs ! Cela t'oblige à déclarer toutes les variables et de convertir obligatoirement les différentes variables