Maths

Résolu
Messages postés
100
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
8 mai 2009
-
Messages postés
100
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
8 mai 2009
-
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

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
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 !
Messages postés
100
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
8 mai 2009

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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
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.
Messages postés
100
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
8 mai 2009

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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
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
Messages postés
100
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
8 mai 2009

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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
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.
Messages postés
100
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
8 mai 2009

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