Maison > Article > développement back-end > Vérifiez si une chaîne contient des lettres consécutives et si chaque lettre n'apparaît qu'une seule fois
En C++, une chaîne est une séquence de caractères qui peuvent être différents ou répétés. Les caractères consécutifs sont des caractères qui apparaissent en même temps et la différence entre eux est de 1. Par exemple, les caractères a et b sont consécutifs car ils apparaissent ensemble. Cependant, les caractères m et o ont une différence de 2 dans leurs positions, ce qui les rend non consécutifs.
Dans cet article, nous allons développer un code qui prendra une chaîne en entrée et affichera vrai lorsque tous les caractères de la chaîne sont consécutifs. Voyons l'exemple ci-dessous pour mieux comprendre ce sujet
Exemple 1 - str - "pqsr"
Sortie - Oui
Dans cet article, nous allons développer un code pour extraire le caractère actuel et le caractère précédent de la chaîne. Il est ensuite vérifié si les caractères diffèrent par une position non équivalente à 1, puis la valeur booléenne fausse est renvoyée.
sort(str.begin(), str.end())
La méthode sort() en C++ est utilisée pour organiser les caractères d'une chaîne par ordre croissant du début à la fin.
str - La chaîne d'entrée
end - le dernier caractère apparaissant dans la chaîne
begin-le premier caractère apparaissant dans la chaîne
La méthode length() en C++ est utilisée pour calculer le nombre de caractères dans la chaîne.
str.length()
str - La chaîne d'entrée
Accepte une chaîne d'entrée, str comme entrée.
La chaîne d'entrée est triée à l'aide de la méthode sort()
Une itération de la chaîne est effectuée, en utilisant la boucle for i.
La longueur de la chaîne est calculée à l'aide de la méthode length() et stockée dans la variable len.
Effectuez une itération de boucle for sur la chaîne, i est l'itération effectuée.
Extrayez les caractères aux positions ième, ch et i-1ème, ch1 à chaque fois.
Si la différence entre ces deux caractères n'est pas égale à 1, alors une valeur booléenne fausse est renvoyée
Si tous les caractères correspondants satisfont à la condition requise, alors la valeur booléenne - true est renvoyée.
Cette valeur est renvoyée sous forme d'indicateur booléen et est stockée dans la variable res. Si sa valeur est vraie, une chaîne contenant des caractères consécutifs est imprimée.
L'extrait de code C++ suivant est utilisé pour saisir un exemple de chaîne et calculer si tous les caractères apparaissant dans la chaîne sont consécutifs.
//including the required libraries #include <bits/stdc++.h> using namespace std; //function to check of characters consecutive bool validateString(string str) { //length of the string int len = str.length(); // sorting the given string sort(str.begin(), str.end()); // Iterate for every index and // check for the condition for (int i = 1; i < len; i++) { //extract characters at the required pos char ch = str[i]; char ch1 = str[i-1]; if (ch-ch1 != 1) //in case characters are not consecutive return false; } //if condition holds return true; } //calling the main method int main() { // 1st example string str = "mpon"; cout << "Input String : " <<str << " \n"; bool res = validateString(str); if (res) cout << "Yes, the string contains only consecutive characters\n"; else cout << "No, the string doesn't contain only consecutive characters.\n"; return 0; }
Input String − mpon Yes, the string contains only consecutive characters
Les caractères qui continuent d'apparaître dans une chaîne sont des lettres qui apparaissent en même temps. Ceci peut être réalisé en triant la chaîne du début à la fin. Les personnages occupant des positions consécutives peuvent être facilement comparés et vérifiés combien de positions diffèrent entre eux. Cela peut être utilisé pour capturer des informations indiquant si une chaîne est continue.
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!