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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


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

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Problema de programación
« en: 27 Agosto 2016, 04:58 am »

Buenas colegas  :D tengo el siguiente problema. Piden ingresar un número e indicar si este se puede expresar como la suma de dos enteros al cuadrado. Bueno aqui está lo que he avanzado pero me bota errores ¿alguna ayuda?

Código
  1. #include<iostream.h>
  2. #include<conio.h>
  3. #include<math.h>
  4.  
  5. void main()
  6. {int n=-1,a=1,b=1,cont=0;
  7. while(n<0)
  8.  {
  9.   cout<<"Ingrese un numero: ";cin>>n;
  10.   getche();
  11.  }
  12. while(a<n)
  13.  {
  14.   while(b<n)
  15.    {
  16.     if(pow(a,2)+pow(b,2) == pow(n,2))
  17.      {
  18.       cont++;
  19.       cout<<a<<"^2"<<" + "<<b<<"^2"<<" = "<<n;
  20.      }
  21.     b++;
  22.    }
  23.   a++;
  24.  }
  25. if (cont==0)
  26.  {
  27.   cout<<"No hay dos cuadrados enteros que sumen "<<n;
  28.  }
  29. else
  30.  {
  31.   cout<<"En total hay "<<cont<<" cuadrados enteros que sumen "<<n;
  32.  }
  33. getche();
  34. }


En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Problema de programación
« Respuesta #1 en: 27 Agosto 2016, 14:13 pm »

En primer lugar, no hace falta (y tampoco tendrías que usar) conio.h. En segundo lugar, la función para obtener un carácter no es getche, sino getchar. En tercer lugar, hay un error de lógica en el programa en la siguiente línea:

Código
  1. if(pow(a,2)+pow(b,2) == pow(n,2))

Según el enunciado, la siguiente ecuación se tendría que verificar:
a^2 + b^2 = n
Pero tu estás escribiendo la ecuación
a^2 + b^2 = n^2

En tercer lugar, no reinicias el valor de 'b' en cada iteración:

Código
  1.    while(a<n)
  2.    {
  3.        while(b<n)
  4.        {
  5.            b = a; // Reinicia 'b'
  6.            if(pow(a,2)+pow(b,2) == pow(n,2))
  7.            {
  8.                cont++;
  9.                cout<<a<<"^2"<<" + "<<b<<"^2"<<" = "<<n;
  10.            }
  11.            b++;
  12.        }
  13.        a++;
  14.    }


En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema en programacion..!
Programación General
ThonyMaster 0 1,902 Último mensaje 14 Julio 2010, 20:40 pm
por ThonyMaster
Problema de programacion
Programación C/C++
jberlin 1 2,120 Último mensaje 27 Enero 2011, 01:39 am
por Destro-
problema programacion
Programación C/C++
furia89 0 1,409 Último mensaje 27 Junio 2011, 00:53 am
por furia89
Problema en programación en C
Programación C/C++
lucashuerga 3 2,024 Último mensaje 5 Marzo 2014, 06:09 am
por leosansan
Problema programación con SDL
Programación C/C++
erickgracia 2 1,805 Último mensaje 7 Febrero 2015, 20:32 pm
por erickgracia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines