I am currently having the issue in my code where my find() method does not start at a given position and then "wrap around" the string to find the character. Here is what I have:
int return_encoded_char(string key, string::size_type &start, char C)
{
int begin_dist = 0;
for(string::size_type i = start; i < key.size(); i++){
if( key[i] == C) {
start = i;
return begin_dist;
}
begin_dist += 1;
}
start = 0;
return key.size() + 1;
}
I was given inputs to test out this function, and it is this:
2
abcdefghijklmnopqrstuvwxyz
e
7
The function should use abcdefghijklmnopqrstuvwxyz as the key, e as the character to find, and the 7th character in the key as the start position. Then, from the 7th character, look for e (which would be the 23rd).
The output should be: 23 4
How can I make my function start on the "start position" properly? This code currently only works when the inputted start position is 0.
Aucun commentaire:
Enregistrer un commentaire