Maison > Article > développement back-end > Le nombre de boutons appuyés sur un téléphone à bouton-poussoir
String en C++ est une structure de stockage intégrée utilisée pour contenir des nombres, des caractères et même des symboles spéciaux. Chaque chaîne est associée à une taille définie, spécifiée par son attribut length. Par défaut, les positions des chaînes commencent à 0. Les caractères dans les chaînes peuvent effectuer différents types d'opérations -
De nouveaux caractères peuvent être ajoutés à la fin de la chaîne.
Un caractère peut être ajouté plusieurs fois à une chaîne.
Dans cet article, nous allons développer un code qui prend une chaîne en entrée et compte le nombre de fois qu'une touche doit être enfoncée afin de taper cette chaîne sur l'écran du clavier mobile. Un tableau d'entrée est également fourni indiquant le nombre de frappes pour un caractère particulier. Voyons l'exemple ci-dessous pour mieux comprendre ce sujet -
Exemple 1 - str - "abc"
Sortie - 6
Par exemple, dans l'exemple de chaîne ci-dessous, le nombre total de frappes est équivalent à 1+2+3 = 6.
Dans cet article, nous allons créer une solution qui extrait un caractère d'une chaîne à la fois, puis extrait ses frappes correspondantes du tableau d'entrée. Chaque fois que le nombre est ajouté à la variable somme.
str.length()
La méthode length() en C++ est utilisée pour compter le nombre de caractères alphanumériques contenus dans une chaîne. Il peut être utilisé pour compter les caractères alphanumériques, les espaces et les nombres.
Accepter la chaîne d'entrée str
Un compteur qui stocke le nombre de fois où chaque caractère doit être appuyé pour générer la chaîne.
Utilisez la méthode length() pour calculer la longueur de la chaîne et stockez-la dans la variable len
Extraire le caractère à la i-ième position à chaque fois, ch.
Le compteur incrémente la position du nombre de fois mentionné dans l'arr.
Exécutez une boucle décroissante initialisée avec la valeur du compteur pour ajouter les caractères extraits à la chaîne de sortie.
La valeur de comptage diminuera à chaque fois.
Après avoir effectué le nombre requis d'itérations sur les caractères, le pointeur se déplacera vers le caractère suivant.
L'extrait de code C++ suivant est utilisé pour créer une chaîne cryptée basée sur un exemple de chaîne d'entrée donné -
//including the required libraries #include <bits/stdc++.h> using namespace std; //storing thr reqd number of times a character should be pressed const int arr[] = { 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 1, 2, 3, 4 }; //return the total number of times the button should be pressed int numkeypresses(string str) { //initialising with count int count = 0; //count the length of string int len = str.length(); // total key presses for (int i = 0; i < len; i++) { char ch = str[i]; count+= arr[ch - 'a']; } cout << "Total number of key presses "<< count; } // Driver code int main() { //input string string str = "tutorials"; cout <<"Input String : "<< str << "\n" ; //calling the function to count the number of times key is pressed numkeypresses(str); return 0; }
Input String − tutorials Total number of key presses 21
Les caractères et les entiers sont manipulés à l'aide de codes ASCII. Leur conversion les uns vers les autres peut être facilement simulée, par exemple, un entier peut être converti en son équivalent de caractère correspondant en soustrayant le caractère « a ». Cela entraîne la conversion de ses codes ASCII les uns vers les autres, qui peuvent être utilisés pour des opérations de manipulation numérique sur des chaînes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!