In C, a string is a series of characters, which can be different or repeated. Consecutive characters are characters that appear at the same time, and the difference between them is 1. For example, the characters a and b are consecutive because they appear together. However, the characters m and o have a difference of 2 in their positions, making them not consecutive.
In this article, we will develop a code that will take a string as input and display true when all characters in the string are contiguous. Let us see the following example to understand this topic better
Example 1 - str - "pqsr"
Output - Yes
In this article, we will develop a code to extract the current and the previous character from the string. It is then further checked if the characters differ by position non-equivalent to 1, then the boolean false value is returned.
sort(str.begin(), str.end())
The sort() method in C is used to arrange the characters in a string in increasing order from the beginning to the end.
str - The input string
end - the last character
occurring in the stringbegin-The first character appearing in the string
The length() method in C is used to compute the number of characters in the string.
str.length()
str - The input string
Accepts an input string, str as input.
The input string is sorted using the sort() method.
An iteration of the string is performed, using the for loop i.
The length of the string is computed using the length() method and stored in len variable.
Perform for loop iteration on the string, i is the iteration performed.
Extract the characters at the ith, ch and i-1th, ch1 positions each time.
If the difference between these two characters is not equal to 1, then a boolean false value is returned
If all the corresponding characters satisfy the required condition, then the boolean value - true is returned.
This value is returned as a Boolean flag and stored in the variable res. If its value is true, a string containing consecutive characters is printed.
The following C code snippet is used to input a sample string and calculate whether all characters appearing in the string are consecutive.
//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
Characters that appear continuously in a string are letters that appear at the same time. This can be achieved by sorting the string from start to end. Characters in consecutive positions can be easily compared and checked how many positions differ between them. This can be used to capture information about whether a string is continuous.
The above is the detailed content of Checks if a string contains consecutive letters and each letter appears only once. For more information, please follow other related articles on the PHP Chinese website!