<div>aqui la version corregida en ansi C<br clear="all"></div><div><br></div><div>int scanner(char* word){<br><br> unsigned int i = 0, aux = 0, pos, dot = 0;<br><br> for (;i < strlen(word); ++i){<br><br> if(!dot && !aux && i > 0 && word[i] == '@') ++aux, pos = i;<br>
<br> if(!dot && aux && word[i] == '.' && (i - pos > 1)) ++aux, dot = 1;<br><br> if(dot && (strlen(word) - i > 2)) return 1;<br> }<br> <br> return 0;<br>}<br></div><div><br></div>
<div>y mi version en c++ mas corta que hace lo mismo testie todos los posibles casos y creo que esta bastante bien..<br></div><div><br></div><div>bool scanner(string word){<br><br> bool ret = false;<br><br> size_t pa = word.find('@'), pd = word.find('.');<br>
<br> if(pa != string::npos && pd != string::npos){<br><br> if(pa > 0 && (pd - pa > 1) && (word.size() - pd > 2))<br> ret = true; <br> }<br><br> return ret;<br>}<br></div><div><br></div>
<div>saludos</div>-- <br>Linux Counter User #487374<br><br>Está en contra de los fundamentos de la educación moderna enseñar a programar a los niños. ¿Qué diversión hay en hacer planes, en adquirir disciplina para organizar los pensamientos, en dedicarle atención al detalle, y en aprender a ser autocrítico?<br>