<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>