FONCTION SWAP POUR NOMBRE ENTIER

cs_EBArtSoft
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
- 27 juin 2004 à 14:01
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 27 juin 2004 à 20:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/24064-fonction-swap-pour-nombre-entier

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
27 juin 2004 à 20:31
lol Renfield : C'est exactement ce qu'il y a dans la fonction publiée il y a quelques temps !
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
27 juin 2004 à 17:54
a supposer que la création d'un fonction juste pour ca soit justifiée...

on pourrait utiliser des Variant

private Sub Swap ( A as variant , b as variant )
Dim tmp as variant
tmp = a
a = b
b = tmp
end sub


au fait, LightAngel, plutot que de passer en parametre une chaine representant le type de variable, utilises Vartype ( N1 ) par exemple (ou TypeName :( )
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
27 juin 2004 à 17:33
Na na na na nè reuuu
C'est quand même la mienne la plus pratiqueuuuu !
lol
gandalfkhorne
Messages postés
70
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
1 octobre 2004

27 juin 2004 à 15:49
Bah merci, ca leve toujours certain doute, mais le but de cette source était de montré comment effectuer un swap sans utiliser de variable autre que celle que l'on a déjà, de plus si on fait d'une autre façon soit ou en soustrayant et en additionnant on risque de dépasser l'intervalle.
cs_Light Angel
Messages postés
48
Date d'inscription
dimanche 9 mai 2004
Statut
Membre
Dernière intervention
1 janvier 2005

27 juin 2004 à 15:03
Salut, je crois qu'il y a une autre manière plus simple pour faire un Swap en une fonction qui comprend tout les types :

Public Function Swap (N1 as Object, N2 as Object, Type as String)
Select Case Type
Case "int"
Dim Temp as Integer
Temp = CInt (N1)
N1 = CInt (N2)
N2 = CInt (Temp)
Case "dbl"
Dim Temp as Double
Temp = CDbl (N1)
N1 = CDbl (N2)
N2 = CDbl (Temp)
Case "sht"
Dim Temp as Short
Temp = CShort (N1)
N1 = CShort (N2)
N2 = CShort (Temp)
' Et on continue la fonction comme sa avec tous les type désiré
End Select
End Sub

Enfin, il y a quand même plus simple, mais avec VB .Net ou bien le C++ (La surcharge) ...

A+
Afficher les 8 commentaires