Comment faire pour convertir des lettres aux nombres dans un tableau String

Comment faire pour convertir des lettres aux nombres dans un tableau String


tables de chaînes sont une structure de données dans les ++ langages de programmation C et C. Dans ces langues, les chaînes sont des séquences de caractères, et les séquences peuvent être de toute longueur. Construire une table où toutes les entrées sont différentes longueurs pourraient être accomplies en permettant suffisamment de place pour le mot le plus long possible dans chaque position de la table, mais ce serait perdre beaucoup d'espace. tables de cordes évitent de gaspiller l'espace en écrivant simplement toutes les chaînes dans l'ordre avec le caractère spécial '\ 0' entre chaque chaîne. Pour référencer une chaîne, vous avez seulement besoin de savoir où il commence.

Instructions

1 Ecrire le code "char StringTable (1000);" de mettre en place une table de chaîne qui détient 1000 caractères. Lorsque vous configurez la table de chaînes, vous aurez également besoin de mettre en place un "pointeur" qui pointe vers l'adresse suivante disponible dans la table de chaînes. Pour ce faire, écrire le code: "int P = 0;" et chaque fois que vous mettez un mot de la phrase dans la table de chaînes, ajouter la longueur de la chaîne à P, donc P vous dit toujours où ajouter les mots suivants.

2 Ecrire le code: "int DisplacementTable (100);" de mettre en place un déplacement qui va contenir 100 numéros. Lorsque vous entrez des mots dans la table de chaînes, vous allez entrer un nombre dans la table de déplacement. Par exemple, si le pointeur P est égal à 147 lorsque vous ajoutez un mot à la table de chaînes, mettre le numéro 147 dans la table de déplacement

3 Convertir une lettre dans un mot à l'emplacement de mémoire qui contient en cherchant dans la table de chaînes jusqu'à ce que vous trouvez une correspondance, en comptant le nombre de caractères '\ 0'. Par exemple, si vous convertissez de l'abc 'les lettres à un numéro que vous souhaitez écrire le code: "target =' abc '; k = 0; for (i = 0; i LT 1000; i ++) {if StringTable (i) == rendement cible DisplacementTable (k), si StringTable (i) == '\ 0' k ++; " Cela va chercher à la table de chaîne pour les lettres cibles et retourner le numéro qui correspond à l'adresse de la cible.

Conseils et avertissements

  • Insertion de nouveaux mots, la suppression des mots anciens et par ordre alphabétique des mots est facile si vous travaillez avec les chiffres dans le tableau de déplacement au lieu des données réelles. Par exemple, vous pouvez alphabétiser la table de chaînes en réorganisant les chiffres dans le tableau de déplacement au lieu de déplacer les mots autour.
  • Si trop de mots sont supprimés à partir d'une table de chaînes, vous pouvez retrouver avec une table qui contient des données non utilisées. Certains grands programmes ont des sous-programmes de "réorganiser" tables en supprimant ces données obsolètes.