String in C is a built-in storage structure used to contain numbers, characters and even special symbols. Each string is associated with a definite size, specified by its length attribute. By default, string positions start at 0. Characters in strings can perform various types of operations -
New characters can be appended to the end of the string.
A character can be appended to a string multiple times.
In this article we will develop a code that takes a string as input and counts the number of times a key must be pressed in order to type that string onto the keyboard mobile screen. An input array is also provided indicating the number of keystrokes for any particular character. Let us see the following example to understand this topic better -
Example 1 - str - "abc"
Output - 6
For example, in the following example string, the total number of keys is equivalent to 1 2 3 = 6.
In this article, we will create a solution that extracts one character from a string at a time and then extracts its corresponding keystrokes from the input array. Each time the count is added to the sum variable.
str.length()
The length() method in C is used to count the number of alphanumeric characters contained in a string. It can be used to count alphanumeric characters, spaces, and numbers.
Accept input string str
A counter that stores the number of times each character should be pressed to generate the string.
Use the length() method to calculate the length of the string and store it in the len variable
Extract the character at the i-th position each time, ch.
The counter is incremented by the number of positions mentioned in arr.
Execute a decreasing loop initialized with the counter value to append the extracted characters to the output string.
The count value will be decremented each time.
After performing the required number of iterations over the characters, the pointer moves to the next character.
The following C code snippet is used to create an encrypted string based on the given input example string -
//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
Characters and integers are manipulated using ASCII codes. Their conversion to and from each other can be easily simulated, for example, an integer can be converted to its corresponding character equivalent by subtracting the character "a". This results in the conversion of its ASCII codes to and from each other, which can be used for numeric manipulation operations on strings.
The above is the detailed content of The number of buttons pressed on a push-button phone. For more information, please follow other related articles on the PHP Chinese website!