Salut.
Greseala ta este la randul acesta:
for(int i=0;i<strlen(v);++i)
Tu practic la fiecare pas al iteratiei calculezi inca o data strlen(v), operatie care consuma mult timp cand o repeti de atatea ori.
Incearca sa inlocuiesti cu o secventa de genul:
int len = strlen(v);
for(int i = 0; i < len; ++i)
Succes!