Maths

Résolu
cs_linkid Messages postés 100 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 8 mai 2009 - 19 sept. 2006 à 07:44
cs_linkid Messages postés 100 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 8 mai 2009 - 20 sept. 2006 à 22:35
Bonjour à tous !
Je fais un petit prog pour les maths et j'aurais besoin de votre aide...
Mon prog décompose un chiffre en puissance de 10 et affiche cela :
pour X = 123
puissance 0 : 5
puissance 1 : 4
puissance 2 : 1

mais maintenant, je voudrais savoir comment faire pour qu'il me l'affiche comme cela :
pour X = 123

puissance 2 : 1

puissance 1 : 4

puissance 0 : 5

Si vous pouviez m'aider...
Merci !
Linkid, webmasteur de Link's Awakening

9 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
19 sept. 2006 à 21:00
Salut,

pas la peine de calculer des puissances de 10,

il suffit d'aller chercher les caractères un par un.


Private Sub CmdNouvNbr_Click()  

    Dim x   As String

    Dim i   As Integer

    x = InputBox("Entrer un nombre à convertir", "Sélection d'un nombre")

    If x <> "" Then

        Print "Nombre de départ: " & x

        For i = 1 To Len(x)

           
Print "la puissance " & Len(x) - i & " ième de dix est: " &
Mid$(x, i, 1)

            Next

       End If

Daniel
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 sept. 2006 à 09:11
Bah tout dépend comme tu lui fait afficher... donne nous au moins le bout de code qui t'affiche les résultats car sans cà on va pas pouvoir t'aider !
0
cs_linkid Messages postés 100 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 8 mai 2009
19 sept. 2006 à 13:37
on fait une boucle Do et ensuite, on affiche le résutat avec un print....
a chaque fois, on rajoute
puissance i : x
jusqu'a x = 0, x étant le reste...
Et moi, ce que je veux, c'est d'avoir i2 puis i1 car pour le moment, j'ai i1, puis i2 ...avec i1 0 , i2 1 ....
Ok ?

Linkid, webmasteur de Link's Awakening
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 sept. 2006 à 16:41
Bah affiche tes prints à l'envers...

Stocke le résultat que tu obtiens (i1, i2, etc) dans des variables, et affiche-les ensuite dans l'ordre que tu veux.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_linkid Messages postés 100 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 8 mai 2009
19 sept. 2006 à 19:54
Justement, je voudrais savoir comment les afficher à l'envers...!


En gros, je dois créer une variable à chaque tour de boucle qui stoke les résultats et ensuite, je les classes par ordre ?


Voici le code du premier prog qui affiche ça :                                                       puissance 0 : 5
puissance 1 : 4
puissance 2 : 1





Private Sub CmdNouvNbr_Click()
Dim x, a As Long
Dim i As Integer
x = InputBox("Entrer un nombre à convertir", "Sélection d'un nombre")
i = 0
If x <> "" Then
Print "Nombre de départ: " & x
Do
    a = x Mod 10
    x = x \ 10
    Print "la puissance " & i & " ième de dix est: " & a
    i = i + 1
Loop Until x < 1
End If
End Sub






Linkid, webmasteur de Link's Awakening
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 sept. 2006 à 20:14
A tester :

Private Sub CmdNouvNbr_Click()
Dim x As Long, a() As Long
Dim i() As Integer
x = InputBox("Entrer un nombre à convertir", "Sélection d'un nombre")
redim a(0)
i = 0
If x <> "" Then
Print "Nombre de départ: " & x
Do
    a(i) = x Mod 10
    x = x \ 10
    i = i + 1






    redim Preserve a(i)







Loop Until x < 1
End If

for j = i to 0 step -1
   





Print "la puissance " & i & " ième de dix est: " & a


(j)
next j
End Sub
0
cs_linkid Messages postés 100 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 8 mai 2009
20 sept. 2006 à 22:19
Re bonjour.

Merci pour vos réponse, mais j'aimerais que vous m'expliquié deux trois choses genre redim Preserve ou encore
step puis

Len et enfin
Mid

Merci encore pour les codes !

Linkid, webmasteur de Link's Awakening
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 sept. 2006 à 22:29
redim : redimensionne un tableau
preserve : à utiliser avec le redim : permet de redimensionner tout en gardant les données dedans
step : définit le pas de la boucle for
len : taille de la variable, utilisée nottament pour des string
mid : permet de récupèrer un bout d'une chaîne.

Note : pour ce genre de question, le plus simple reste de faire une recherche sur google ou dans la msdn : tu auras les réponses plus rapidement.
0
cs_linkid Messages postés 100 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 8 mai 2009
20 sept. 2006 à 22:35
Ok ... merci !
au fait, comment elle est incrémenté la variable i (pour la soluce de Gobillot) ???

[auteurdetail.aspx?ID=278023 ]Linkid, webmasteur de Link's Awakening
0
Rejoignez-nous