Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/04/2011, 01:46
aiorla
 
Fecha de Ingreso: abril-2011
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Problemilla con un duplicador de números

Bueno este es mi primer post aquí y el programa es también de los primeros así que lo siento si algo está mal, aun soy un novatillo!

El problema planteado es que el usuario escribe un numero k igual al numero de n que quiere duplicar y los n que han de ser duplicados.

La entrada seria por ejemplo 2 3 4 y la salida debería ser 6 8. Y si la entrada es 4 la salida deberia ser nula y esperar una nueva k.

Bien antes de todo dejo lo que intenta ser mi solución a aquello que me piden:

Código c++:
Ver original
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main ()
  7. {
  8.     string st;
  9.     while (getline(cin, st))
  10.     {
  11.           int n=st[0];
  12.           int k=2;
  13.           while (n>0 and k<st.size())
  14.           {
  15.           cout << st[k]+st[k] << " ";
  16.           n=n-1;
  17.           k=k+2;
  18.           }
  19.           cout << endl;
  20.     }
  21. }

Os prometo que lo he repasado más de una vez pero no encuentro el error, se que la clave está en que el numero st[k]+st[k] no se porque no puede salir y sale otro diferente (104,102 o cosas así...).

En cambio cuando quito el (+st[k]) funciona, aunque no lo duplica claro, no lo entiendo :(

Bueno, haber si me podéis echar un cable, no pido que me lo solucionéis pero haber si me podéis dar alguna pista o alguna ayuda os lo agradecería, que voy un poco perdido!

Muchas Gracias!