Accueil > Forum > > > > correspondance dans un tableaux
correspondance dans un tableaux
mercredi 10 octobre 2007 à 19:00:58 |
correspondance dans un tableaux

lolpop
|
Bonjour, j'aurai une petite question. j'ai un tableau qui contient les caracteres de l'alphabet de 0 a 25 pour a à z. Je voudrai a partir d'un caractere obtenir le nombre lui correspondant dans le tableaux. Par exemple a partir du caractere z obtenir 23 et du caractere b obtenir 1. Mais je ne sais pas comment faire, ce que je sais faire c'est l'inverse moi :) Pourriez vous m'aider? Merci
|
|
mercredi 10 octobre 2007 à 20:03:23 |
Re : correspondance dans un tableaux

jack
|
Salut Je suppose que tes lettres ne sont pas classées alphabétiquement dans ton tableau ... (ton exemple z:23 et b:1 est troublant)
Pour les tableaux, aucune autre solution que de scruter chaque élément du tableau pour retrouver celui qui t'intéresse : For r = 0 To 25 If monTableau(r) = LaLettreQueJeCherche Then MsgBox "La lettre """ & LaLettreQueJeCherche & """ est dans monTableau(" & CStr(r) & ")" Exit For End If Next r Avec une dimension à 26 éléments, cette boucle ne devrait pas allourdir tes programmes.
Une autre solution consiste à utiliser une Collection à la place d'un tableau. Une Collection permet d'accéder aux données : - Soit par l'index maCollection(23) - Soit par le contenu maCollection("z") Condition : Il faut que le contenu de chaque élément soit unique Problème : Une collection est lente pour les méthodes Add et Remove, par contre, elle est plus rapide en recherche.
Vala Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
|
|
mercredi 10 octobre 2007 à 20:09:33 |
Re : correspondance dans un tableaux

Mikaels35
|
Sachant que la valeur Asc("a") est égale à 97
n=Asc("b")-97 -> 1
n=Asc("z")-97 -> 25
@+
|
|
mercredi 10 octobre 2007 à 21:39:35 |
Re : correspondance dans un tableaux

lolpop
|
Réponse acceptée !
merci, mais si j'agrandi mon tableau en rajoutant les majuscules et les chiffres de 0 a 9 :) lol
|
|
mercredi 10 octobre 2007 à 22:36:54 |
Re : correspondance dans un tableaux

caco64
|
Idem mais avec une condition. Par exmple, je suppose que tu as mis les caractères dans l'ordre minuscule, puis majuscule puis chiffres de 0 à 9 Alors le "a" doit renvoyer 1, le "A" 27 et le "0" 53. Tu peux faire un truc du style :
sub mon_tableau() dim choix_caractere dim num_asc as integer dim indice_tableau as integer
'choisir le caractere, par exemple avec un inputbox choix_caractere = "d"
num_asc = asc(choix_caractere) if num_asc >= 48 and num_asc <= 57 then indice_tableau = num_asc + 5 elseif num_asc >= 97 and num_asc <= 122 then indice_tableau = num_asc - 96 elseif num_asc >= 65 and num_asc <= 90 then indice_tableau = num_asc - 42 else msgbox "pb sur le choix du caractère" end if end sub
il existe un code ascii différent pour les minuscules et les majuscules La haine aveugle n'est pas sourde
|
|
mercredi 10 octobre 2007 à 22:43:02 |
Re : correspondance dans un tableaux

xav0
|
Réponse acceptée !
Bonjour,
tu peux aussi créer un tableau inverse du premier. Ca marche quels que soient les caractères dans le premier tableau.
Dim monTableau(0 To taille_quelconque) As String 'monTableau doit être rempli entièrement avec des caractères...
Dim TableauInv(0 To 255) As Long, Lettre As String
'Initialise le tableau For i = LBound(monTableau) To UBound(monTableau) Lettre = Asc(monTableau(i)) TableauInv(Lettre) = i Next i
'Maintenant, il suffit de consulter le deuxième tableau pour obtenir l'index à partir d'un caractère MsgBox("La lettre A a pour indice " & TableauInv(Asc("A"))) MsgBox("La lettre L a pour indice " & TableauInv(Asc("L")))
|
|
mercredi 10 octobre 2007 à 23:28:18 |
Re : correspondance dans un tableaux

jack
|
Re Hote moi d'un doute : Tu mets les lettres dans un ordre quelconque, on est d'accord ? (puisque ton exemple, tu as mis le "z" est 23, alors qu'il serait le 26ème élément, donc d'index 25 dans un tableau classé) Il ne peut donc pas y avoir de correspondance entre le code ASCII de la lettre et le numéro de l'index du tableau !
Si les lettres sont dans l'ordre alphabétique dans ton tableau, je te conseille vivement de prendre des cours de français avant de continuer en programmation. Une erreur pareil sur le numéro d'une lettre dans l'alphabet est quand même une base minimum, non ? et en plus, ça éviterait qu'on perde notre temps ...
Vala Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
|
|
jeudi 11 octobre 2007 à 18:26:37 |
Re : correspondance dans un tableaux

lolpop
|
oui j'ai fait une erreur ca arrive non? c'est bien 25 et pas 23 pour le z
merci xav0 pour ta reponse c'est ce a quoi j'ai pensé cette nuit aussi :)
|
|
Cette discussion est classée dans : partir, caractere, tableaux, obtenir, correspondance
Répondre à ce message
Sujets en rapport avec ce message
Caractere ASCII x barre (moyenne) [ par Patrik ]
Bonjour,Je souhaiterai obtenir le code latin ou ascii pour obtenir le symbole x barre représente l'abréviation de la moyenne.Patrik
obtenir le nom d'un dossier [ par Fwdavy ]
je voudrais a partir d'une boucle lister les nom des dossiers (ou fichier) a partir d'une adresse specifique. Pour : - supprimer un fichier ou un doss
Lancer une procedure à partir d une chaine de caractere [ par farrakis ]
Bonjour,J aimerais lancer une procédure partir d'une chaine de caractere, sans avoir à écrire du code du genreIf monTexte="toto" then call totomais pl
obtenir une table a partir de 2 tables [ par aztcaLISS ]
Salut,Je voudrais savoir comment faire une requete permettant d'obtenir une table contenant toutes les lignes d'une Table1 et toutes les lignes d'une
Peut-on obtenir un code à partir d'un exe sans avoir VB6 ? [ par nono78220 ]
Bonjour,Il est possible de faire des exe avec des logiciels tels que "inno_setup"Question: si notre code est compilé avec un tel logiciel, y-a t'il un
Obtenir un Type à partir d'un String [ par The Meteorologist ]
Bonjour, je cherche une méthode permettant d'obtenir un type à partir d'un String contenant son nom et ses namespaces. Par exemple : Dim nomDuType
Remplissage tableaux a partir d'un datareader sql [ par Nitrakz ]
Bonjour, Tout est dans le titre, Je voudrais savoir si il serait possible de remplir directement un tableaux de type tab()() à partir d'une requête
Convertir byte() en caractere ASCII [ par Grinvald ]
Bonjour,Je souhaiterai convertir un tableaux de byte en caractère ASCII.Le tableaux est le résultat d'un hachage.Merci de votre aide.
Peut'on obtenir un object à partir d'un hwnd ? [ par vicosta ]
Bonjour,Peut'on obtenir un object à partir d'un hwnd d'une façon quelquonque comme celle-ci ?D'abord, créer un object, dans ce cas, le calendrier:Dim
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|