<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    El 06/11/10 17:30, Toni escribió:
    <blockquote
      cite="mid:AANLkTi=TvmFT3nP6vOnHVqG3cFTiF2ybBv1YDkvtXyy3@mail.gmail.com"
      type="cite">Hola,
      <div><br>
      </div>
      <div>He hecho el siguiente codigo:</div>
      <div><br>
      </div>
      <div>
        <div>#include<iostream></div>
        <div>using namespace std;</div>
        <div><br>
        </div>
        <div>int iesimo(int N, int i){</div>
        <div>  int comparador,resultado;</div>
        <div>  comparador=1;</div>
        <div>  resultado=1;</div>
        <div><br>
        </div>
        <div>     for (int j=0;j<i;j++){</div>
        <div><span class="Apple-tab-span" style="white-space: pre;"> </span>comparador*=10;</div>
        <div>     }</div>
        <div>    if (comparador/10<N){</div>
        <div><span class="Apple-tab-span" style="white-space: pre;"> </span>resultado=N%comparador;</div>
        <div><span class="Apple-tab-span" style="white-space: pre;"> </span>comparador/=10;</div>
        <div><span class="Apple-tab-span" style="white-space: pre;"> </span>
           if (comparador!=0){</div>
        <div><span class="Apple-tab-span" style="white-space: pre;"> </span>
             resultado/=comparador;</div>
        <div><span class="Apple-tab-span" style="white-space: pre;"> </span>
           }</div>
        <div><br>
        </div>
        <div>    }else{</div>
        <div><span class="Apple-tab-span" style="white-space: pre;"> </span>resultado=-1;</div>
        <div>    }</div>
        <div>  return resultado;</div>
        <div>}</div>
        <div><br>
        </div>
        <div>int main(){</div>
        <div>int num,digitos;</div>
        <div><br>
        </div>
        <div>cout<<"Introduzca un numero: \n";</div>
        <div>cin>>num;</div>
        <div><br>
        </div>
        <div>digitos=0;</div>
        <div><br>
        </div>
        <div>   while (iesimo(num,digitos)!=-1){</div>
        <div><span class="Apple-tab-span" style="white-space: pre;"> </span>digitos++;</div>
        <div>   }</div>
        <div>digitos--;</div>
        <div><br>
        </div>
        <div>cout<<"Tiene "<<digitos<<" digitos\n";</div>
        <div><br>
        </div>
        <div>return 0;</div>
        <div>}</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>Lo que quiero que haga ese programa es en primer lugar, al
          insertar un numero cualquiera me diga cuantos digitos componen
          ese numero, por ejemplo 35435 son 5 digitos.</div>
        <div>El problema que tengo es que cuando introduzco un numero de
          9 o más digitos, el resultado que me devuelve es erroneo.</div>
        <div><br>
        </div>
        <div>Una vez sepa los digitos que tiene, tengo que sumar las
          posiciones simetricas, (el primero con el ultimo, el segundo
          con penultimo) aunque para esto ya haré su implementación,
          pero primero necesitaria el resultado correcto de los digitos
          que forman ese numero.</div>
        <div><br>
        </div>
        <div>Agradecería cualquier comentario o ayuda.</div>
        <div><br>
        </div>
        <div>Saludos,<br>
        </div>
      </div>
    </blockquote>
    Tu problema está en la precisión de las variables. Estás usando
    variables tipo int, lo que serán valores de 32 bits en la mayoría de
    las plataformas, por lo tanto, valores de -2147483648 a 2147483647.<br>
    Puedes aumentar la precisión cambiando el tipo a long long int, pero
    lo que es el problema, está resuelto. <br>
    <br>
    <br>
  </body>
</html>