elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como sumo los numeros de un entero hasta que me de "n" numeros (Resuelto)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Como sumo los numeros de un entero hasta que me de "n" numeros (Resuelto)  (Leído 9,916 veces)
¡Micronet!

Desconectado Desconectado

Mensajes: 159



Ver Perfil
Como sumo los numeros de un entero hasta que me de "n" numeros (Resuelto)
« en: 15 Noviembre 2010, 15:22 pm »

Citar
Supongamos que tengo 7 digitos, de esos 7 digitos me tiene que dar la suma del numero 30.

Yo ingreso el valor de 0031416, este valor sumando sus numeros me da el valor de 15.

Entonces tengo que sumarle un numero y volver a sumar ese numero. si mi numero llega al numero 9999999...y no me da el numero deceado regresarlo al numero 0000000.

Y saber cuantos numeros se le incrementa a 0031416 para que llegue al valor 30 en este ejemplo.


Mi pregunta es... como hago que un Int... sume sus valores 1 por uno...¿? y mantenerlo como int.

Ya que no encontre una manera facil de hacerlo... yo lo que utilice fue un vector

int V[0,0,3,1,4,1,6].... pero se me hace un codigo extenso con los excesos de if's que llego a utilizar.

Entonces esa es mi pregunta.


« Última modificación: 15 Noviembre 2010, 19:54 pm por ¡Micronet! » En línea


"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"
Castiblanco


Desconectado Desconectado

Mensajes: 2.438


Ver Perfil WWW
Re: Como sumo los numeros de un entero hasta que me de "n" numeros
« Respuesta #1 en: 15 Noviembre 2010, 15:26 pm »

Así como dices creas el vector y suponiendo que es de 7 entonces

Código
  1. int sumatoria=0;
  2.  
  3. for (int i=0; i<=7;i++)
  4. {
  5. sumatoria += V[i];
  6. }

Y listo suma todos los términos y el resultado lo deja en "sumatoria", eso fue lo que entendí no se si sea eso lo que quieres ^^

Saludos...


En línea

¡Micronet!

Desconectado Desconectado

Mensajes: 159



Ver Perfil
Re: Como sumo los numeros de un entero hasta que me de "n" numeros
« Respuesta #2 en: 15 Noviembre 2010, 15:36 pm »

Código
  1. int sumatoria=0;
  2.  
  3. for (int i=0; i<=7;i++)
  4. {
  5. sumatoria += V[i];
  6. }


Castiblanco de echo asi lo hice... pero no lo quiero tener como vector lo quiero como un int. para que se me haga mas facil. 

Lo quiero como int... sume sus valores y que me arroje su resultado pero mantener como int y no como un vector. :S
En línea


"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"
Castiblanco


Desconectado Desconectado

Mensajes: 2.438


Ver Perfil WWW
Re: Como sumo los numeros de un entero hasta que me de "n" numeros
« Respuesta #3 en: 15 Noviembre 2010, 15:48 pm »

No le veo sentido la verdad y no sabría como hacerlo de una manera más sencilla si es que se puede...
En línea

Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: Como sumo los numeros de un entero hasta que me de "n" numeros
« Respuesta #4 en: 15 Noviembre 2010, 16:49 pm »

Lo que tu buscas es tener un numero de la forma siguiente:

378981 y sumarlo así? 3+7+8+9+8+1

Estoy muy espeso porque me acabo de levantar de dormir, pero vendría a ser algo así:

sum=0;
while(numero<0){
sum=numero%10;
numero=numero/10;
}


En línea

¡Micronet!

Desconectado Desconectado

Mensajes: 159



Ver Perfil
Re: Como sumo los numeros de un entero hasta que me de "n" numeros
« Respuesta #5 en: 15 Noviembre 2010, 18:36 pm »

Lo que tu buscas es tener un numero de la forma siguiente:

378981 y sumarlo así? 3+7+8+9+8+1

Estoy muy espeso porque me acabo de levantar de dormir, pero vendría a ser algo así:

sum=0;
while(numero<0){
sum=numero%10;
numero=numero/10;
}

Acabo de ponerlo en practica ese ciclo. pero me deja el 0 cuando imprimo sum.
:S

(y si asi quiero sumarlo)...

porque use el numero 0031416... y no me efectua nada. ya que no es menor que 0 ... y si le cambio a mayor que 0 :S me hace un break... :S
En línea


"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"
xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: Como sumo los numeros de un entero hasta que me de "n" numeros
« Respuesta #6 en: 15 Noviembre 2010, 18:47 pm »

Es que si puede introducir ceros creo que los vas a tener que meter en un array de int obligatoriamente.
En línea

Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: Como sumo los numeros de un entero hasta que me de "n" numeros
« Respuesta #7 en: 15 Noviembre 2010, 18:48 pm »

Fallo mio
dentro del bucle cámbialo por esto:

// tómese numero como el entero del que queremos sumar sus cifras
int sum=0;
while(numero>0){
sum+=numero%10;
numero=numero/10;
}



Ya comenté que andaba medio dormido.

Aunque introduzcas un numero como 0031416 si tu lo que quieres es sumarlo cifra a cifra, el bucle que te he puesto antes debería funcionar.
« Última modificación: 15 Noviembre 2010, 18:53 pm por Akai » En línea

¡Micronet!

Desconectado Desconectado

Mensajes: 159



Ver Perfil
Re: Como sumo los numeros de un entero hasta que me de "n" numeros
« Respuesta #8 en: 15 Noviembre 2010, 19:05 pm »

// tómese numero como el entero del que queremos sumar sus cifras
int sum=0;
while(numero>0){
sum+=numero%10;
numero=numero/10;
}




Ve como me sale ese codigo... :S podrias explicarmelo porfas :) esque checa lo que segun hago todo esto para hacer la suma... ha y la suma debe ser 15 :S

Código:
int vec[7]={0,0,3,1,4,1,6},ex[7]={0,0,0,0,0,0,0},sum=0,i;
for (i=0;i<7;i++){
sum+=vec[i];
}cout<<sum;
int cont=0;
while(sum!=33){
cont+=1;
if (vec[7]<9){
vec[7]+=1;
cont+=1;
}
if (vec[7]==9 && vec[6]<9){
vec[6]+=1;
cont+=1;
}
if (vec[7]==9 && vec[6]==9 && vec[5]<9){
vec[5]+=1;
cont+=1;
}
if (vec[7]==9 && vec[6]==9 && vec[5]==9 && vec[4]<9){
vec[4]+=1;
cont+=1;
}
if (vec[7]==9 && vec[6]==9 && vec[5]==9 && vec[4]==9 && vec[3]<9){
vec[3]+=1;
cont+=1;
}
if (vec[7]==9 && vec[6]==9 && vec[5]==9 && vec[4]==9 && vec[3]==9 && vec[2]<9){
vec[2]+=1;
cont+=1;
}
if (vec[7]==9 && vec[6]==9 && vec[5]==9 && vec[4]==9 && vec[3]==9 && vec[2]==9 && vec[1]<9){
vec[1]+=1;
cont+=1;
}
if (vec[7]==9 && vec[6]==9 && vec[5]==9 && vec[4]==9 && vec[3]==9 && vec[2]==9 && vec[1]==9){
vec[7]=0;
vec[6]=0;  
vec[5]=0;  
vec[4]=0;  
vec[3]=0;  
vec[2]=0;
vec[1]=0;
cont+=1;
}

sum=0;
for (i=0;i<7;i++){
sum+=vec[i];
}

}

Lo pongo para que se me haga valida la pregunta. :)
y esque si hago todo eso es una gran perdida de tiempo. :S jeje
y quisiera comprender tu codigo.
ya que veo que se hace un resultado mas factible que el mio :S



Bueno el codigo que puse es parte de lo que estoi haciendo...
en si el que suma solo es esto:

Código:
for (i=0;i<7;i++){
sum+=vec[i];
}


pero tu codigo hace mas elegante el problema
« Última modificación: 15 Noviembre 2010, 19:09 pm por ¡Micronet! » En línea


"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Como sumo los numeros de un entero hasta que me de "n" numeros
« Respuesta #9 en: 15 Noviembre 2010, 19:26 pm »

Eso esta en los ejercicios de Projecteuler si no me equivoco.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programa en c "Máximo común divisor de dos números"
Programación C/C++
rayk 8 51,193 Último mensaje 26 Octubre 2013, 23:06 pm
por absgab
Ayuda con Código "Simple en C" Hacer que solo se ingresen numeros « 1 2 3 »
Programación C/C++
ZedGe 25 11,684 Último mensaje 30 Diciembre 2011, 23:11 pm
por rir3760
Un parche elimina los "números eróticos" de The Last of Us
Noticias
wolfbcn 0 1,398 Último mensaje 1 Julio 2013, 02:11 am
por wolfbcn
Serie de numeros "compleja"
Programación C/C++
Gunhack 2 1,905 Último mensaje 5 Abril 2015, 08:27 am
por Gunhack
Ingresar números en un vector hasta que se ingrese "0"
Programación C/C++
FrnkdOU 1 2,569 Último mensaje 10 Septiembre 2020, 22:17 pm
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines