Salve a tutti. Potete aiutarmi a capire perchè questa funzione blocca l'esecuzione del programma? Eppure il while non dovrebbe essere infinito..
Serve per contare il numero di doppie in una stringa (es: "abbardde" ha 2 doppie, "bb" e "dd", "abbba" ne ha una sola, la prima "bb")
codice:
int ContaDoppie(string* str)
{
int i=1,count=0;
char first,c;
first = (*str).at(0);
while(i<=(*str).length()) {
c = (*str).at(i);
if(c==first) {
count++;
c = (*str).at(i+1);
i++;
}
first = c;
i++;
}
return(count);
}