Maison > développement back-end > C++ > Le nombre de boutons appuyés sur un téléphone à bouton-poussoir

Le nombre de boutons appuyés sur un téléphone à bouton-poussoir

王林
Libérer: 2023-09-07 09:33:15
avant
952 Les gens l'ont consulté

Le nombre de boutons appuyés sur un téléphone à bouton-poussoir

Présentation

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

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.

Grammaire

str.length()
Copier après la connexion

Longueur()

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.

Algorithme

  • 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.

Exemple

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;
}
Copier après la connexion

Sortie

Input String − tutorials
Total number of key presses 21
Copier après la connexion

Conclusion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal