Comment définir la valeur de la lettre de l'alphabet? C++
Bien, je dois faire une tâche, qui permet de trier les éléments du tableau de manière UNIQUE.
Ainsi, par exemple, si j'ai de l'entrée 1ère chaîne:
BOB, j'ai à faire: 2+15+2 (en raison de leur positionnement dans l'alphabet), puis diviser par la quantité de caractères /3, et de le faire pour toutes les entrées des cordes et ensuite de les trier par ordre décroissant. 🙂
Ma question est, comment puis-je régler la valeur 1,2,3,4,5... pour A,B,C,D,E..... (seules les grandes lettres).
Merci.
- il signifie qu'il a des devoirs à faire, et ne veut pas le faire...
- Ce n'est pas de devoirs.
- sent comme elle, étant donné que c'est facile à résoudre...
- Eh bien, étant donné que je suis un débutant en C++, je n'irais pas et d'essayer de résoudre certaines avancées et complexes défis..
- Salut @JohnSmith, comme d'autres commentaires l'ont suggéré, si ce sont les devoirs s'il vous plaît marquer comme avec le les devoirs de la balise. En outre, il est également recommandé à la poste "ce que vous avez déjà obtenu / essayé". Si vous n'avez pas encore rien, peut-être que certains pseudo-code serait utile.
- l'utilisation d'un dictionnaire ou d'une carte
Vous devez vous connecter pour publier un commentaire.
Si le sous-jacent d'encodage est seuqential, comme
ascii
.Plus robuste et approche générale, d'examiner les
char_traits
du type de caractère.C++11
sont marqués comme tels.Vous devez définir une fonction
Et puis itérer sur la chaîne de char par char et ne suivant:
Vous pouvez également vérifier que le char est à l'avant de 'A' et 'Z' ou de supposer que.
Vous avez besoin pour en savoir plus sur ASCII
EDIT:
Code de la fonction de poids (simplifié):
Si vous travaillez sur un fichier ASCII de la machine, @Conteur de répondre à des œuvres. Sinon, vous pouvez créer un tableau de correspondance entre les deux:
'J' - 'I' != 1
Pour obtenir les valeurs, vous pouvez utiliser le code suivant:
Vous avez seulement besoin de s'échapper de la chaîne de tableau et une boucle par elle...