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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programacion c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Programacion c++  (Leído 9,903 veces)
mmaikel

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Programacion c++
« en: 6 Abril 2012, 19:59 pm »

Hola buenas, tengo una par de problemas y llevo un par de dias buscando y dandole vueltas y no saco nada en claro.
El primer problema es conseguir que me diga si el numero de 3 cifras insertado es igual a la suma de sus cubos, por ej 153=1^3+5^3+3^3. 
Lo que no se hacer es descomponer el numero para elevar al cubo sus digitos, y por mas que le doi vueltas no se me ocurre nada.

Mi segunda duda es conseguir el seno a partir de el polinomio de Taylor y aqui si que estoy completamente perdido (mas aun que en el otro).

Si alguien mas puesto en esto me pudiera ayudar lo agradeceria enormemente, gracias por vuestro tiempo y saludos!


En línea

Runex

Desconectado Desconectado

Mensajes: 192


http://tutogramacion.blogspot.com


Ver Perfil WWW
Re: Programacion c++
« Respuesta #1 en: 6 Abril 2012, 20:49 pm »

Código
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. numeros = raw_input("Numero>")
  4. x = ""
  5. for numero in numeros:
  6. resultado = pow(int(numero),3)
  7. x = x + str(resultado)
  8. if x == str(numeros):
  9. print x + " y " + str(numeros) + " son iguales"
  10. else:
  11. print x + " y " + str(numeros) + " no son iguales"

En python sería algo así, fíjate en lo que hace el programa e implementalo en C ya que no se pueden postear los resultados de los ejercicios :)

Un saludo :)


En línea

"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".
durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Programacion c++
« Respuesta #2 en: 6 Abril 2012, 20:55 pm »

Hola! una pista, tomamos 153 como ejemplo:
153%10
el resto va a ser 3
153/10
el resultado va a ser 15
15%10
resto 5
15/10
resultado 1
1%10
resto 1

Aplicalo a tu codigo y tendria q salir. Saludos
En línea

Ahorrate una pregunta, lee el man
Runex

Desconectado Desconectado

Mensajes: 192


http://tutogramacion.blogspot.com


Ver Perfil WWW
Re: Programacion c++
« Respuesta #3 en: 6 Abril 2012, 21:04 pm »

Hola! una pista, tomamos 153 como ejemplo:
153%10
el resto va a ser 3
153/10
el resultado va a ser 15
15%10
resto 5
15/10
resultado 1
1%10
resto 1

Aplicalo a tu codigo y tendria q salir. Saludos

Jaja nunca hubiese pensado en eso, es buen método  ;-)

EDIT: Es curioso, lo he escrito y no me devuelve los números que debería devolver :S
« Última modificación: 6 Abril 2012, 21:12 pm por Runex » En línea

"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".
mmaikel

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Programacion c++
« Respuesta #4 en: 6 Abril 2012, 21:05 pm »

muchas gracias a los 2 por vuestras respuestas.
durasno, eso es lo que estaba aplicando, el problema es que no se como hacer para que me eleve ese resto al cubo (soi un ignorante en este tema), o sea, como guardar ese resto para elevarlo despues, o si el programa lo guarda..
En línea

Runex

Desconectado Desconectado

Mensajes: 192


http://tutogramacion.blogspot.com


Ver Perfil WWW
Re: Programacion c++
« Respuesta #5 en: 6 Abril 2012, 21:15 pm »

muchas gracias a los 2 por vuestras respuestas.
durasno, eso es lo que estaba aplicando, el problema es que no se como hacer para que me eleve ese resto al cubo (soi un ignorante en este tema), o sea, como guardar ese resto para elevarlo despues, o si el programa lo guarda..

mmaikel para elevarlo al cubo debes importar la libreria <math.h>
y debes usar la función pow().

Puedes inicializar una variable y realizar la operacion en ella así:

Código
  1. int primnumero = numero % 10;
  2. int segonumero = primnumero / 10;

y así cuando tengas los dígitos que necesitas, utilizas pow y lo guardas en una variable:

Código
  1. resultado = pow(primnumero,3) + pow(segonumero,3) + pow(tercenumero,3);

Un saludo mmaikel :)

En línea

"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".
mmaikel

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Programacion c++
« Respuesta #6 en: 6 Abril 2012, 21:50 pm »

De nuevo muchas gracias, asi es como lo estoy intentando, pero me pone el siguiente error 17 " call of overloaded `pow(int&, int)' is ambiguous ". Tengo importada la libreria <cmath> y lo que hago es, por ejemplo:

int num,a,res;
a=num%10;
cin>>a;
res=pow(a,3);
cin>>res;

y a partir de aqui ponerle la condicion que si son iguales las sumas de los cubos con el numero (num)






 
« Última modificación: 6 Abril 2012, 23:00 pm por mmaikel » En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Programacion c++
« Respuesta #7 en: 6 Abril 2012, 22:50 pm »

Hola! me olvide d aclarar que no se C++, solo C. una pregunta¿el cin no se usa para ingreso de caracteres??? y para q lo haces?  
en "a" se va a guardar el resto de la division (num%10) que es un entero y vos le queres meter un caracter(cin>>a) .. El error de pow puede q se deba a eso

Saludos

ahh al final tambien pones un cin
En línea

Ahorrate una pregunta, lee el man
mmaikel

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Programacion c++
« Respuesta #8 en: 6 Abril 2012, 23:02 pm »

Lo estoy haciendo sin el 'pow' de la siguiente manera:

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int num,x,y,a,b,c,res,prim,sec,ter;
    cout<<"Introduzca una cifra de 3 digitos: "<<endl;
    cin>>num;
    {
         for (num>=000;num<=999;)
             a=num%10;
             x=num/10;
             b=x%10;
             y=x/10;
             c=y%10;
             prim=a*a*a;
             sec=b*b*b;
             ter=c*c*c;
             res=prim+sec+ter;
                  if (res=num)
                     cout << "El resultado de la suma de los cubos de los digitos es igual al numero" << endl;
                  else
                     cout <<"El resultado de la suma de los cubos de los digitos no es igual al numero"<< endl;
                
    }
system ("pause");
return 0;
}

Me lo compila perfectamente, pero el programa no hace nada.. xD
« Última modificación: 6 Abril 2012, 23:11 pm por mmaikel » En línea

farresito


Desconectado Desconectado

Mensajes: 302



Ver Perfil
Re: Programacion c++
« Respuesta #9 en: 6 Abril 2012, 23:24 pm »

Lo estoy haciendo sin el 'pow' de la siguiente manera:

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int num,x,y,a,b,c,res,prim,sec,ter;
    cout<<"Introduzca una cifra de 3 digitos: "<<endl;
    cin>>num;
    {
         for (num>=000;num<=999;)
             a=num%10;
             x=num/10;
             b=x%10;
             y=x/10;
             c=y%10;
             prim=a*a*a;
             sec=b*b*b;
             ter=c*c*c;
             res=prim+sec+ter;
                  if (res=num)
                     cout << "El resultado de la suma de los cubos de los digitos es igual al numero" << endl;
                  else
                     cout <<"El resultado de la suma de los cubos de los digitos no es igual al numero"<< endl;
               
    }
system ("pause");
return 0;
}

Me lo compila perfectamente, pero el programa no hace nada.. xD
Haz un bucle FOR como dios manda!

El primer argumento del bucle for es inicializar una variable, como por ejemplo, int i = 0;
El segundo argumento es la comparacion. Mientras se cumpla la comparacion, se ejecutara el codigo. Por ej. i<50;
El tercer argumento es el modificador. i++, i--, i+=2, etc.

Lo que estas haciendo en el bucle no se lo que es. Ninguno de los argumentos concuerdan.

Por ejemplo: for (int i = 0; i<100; i++) {ejecutar lo que sea}

Por cierto, system pause es una muy mala practica.
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
algunas dudas en programacion BATCH(nuevo en esto de programacion)
Scripting
stock_C 8 9,013 Último mensaje 19 Junio 2009, 18:08 pm
por frank30
programacion web vs programacion de escritorio
Programación General
lupitapro 2 7,571 Último mensaje 29 Mayo 2010, 05:51 am
por Dreamaker
Programacion Estructurada Vs Programacion Orientada a Objetos
Programación General
79137913 3 8,146 Último mensaje 1 Junio 2011, 18:02 pm
por 79137913
Programación Rx
Programación General
yoldi 2 2,143 Último mensaje 7 Junio 2022, 22:12 pm
por yoldi
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines