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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ayuda con un simple programa en c#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con un simple programa en c#  (Leído 12,010 veces)
Amagekure

Desconectado Desconectado

Mensajes: 63


la noche es mas oscura cuando va a amanecer


Ver Perfil
Ayuda con un simple programa en c#
« en: 2 Marzo 2010, 01:12 am »

 double x1, x2,bn;
            int a = Convert.ToInt16(textBox1.Text);
            int b = Convert.ToInt16(textBox2.Text);
            int c = Convert.ToInt16(textBox3.Text);

            bn = b * -1;
            x1 = (bn + Math.Sqrt(b^2 - 4 * a * c)) / (2 * a);
            x2 = (bn - Math.Sqrt(b^2 - 4 * a * c)) / (2 * a);

            textBox4.Text = x1.ToString();
            textBox5.Text = x2.ToString();

pues necesito que me digan que esta mal aqui, pues intento que me diga las raizes realies de una ecuacion de 2 grado   A,B,C son los 3 numeros que corresponden a la escuasion pero cuando le aplico la formula el resultado es un texto 'NeuN'  y no los resultados numericos que estoy buscando, alguien sabio que me diga que error estoy cometiendo en este programa


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Ayuda con un simple programa en c#
« Respuesta #1 en: 2 Marzo 2010, 02:24 am »

Te sale NeuN, porque le estas sacando Sqrt a un valor negativo, por ejemplo.
Código
  1. MsgBox(Math.Sqrt(0 - 4))

Intentadlo así:
Código
  1.        Dim x1, x2, bn As Double
  2.        Dim a, b, c As Integer
  3.  
  4.        a = 1
  5.        b = 6
  6.        c = 1
  7.  
  8.        bn = b * -1
  9.  
  10.        x1 = (bn + Math.Sqrt(b ^ 2 - 4 * a * c)) / (2 *a)
  11.        x2 = (bn - Math.Sqrt(b ^ 2 - 4 * a * c)) / (2 * a)
  12.  
  13.        MsgBox(x1)
  14.        MsgBox(x2)


En línea

Te vendería mi talento por poder dormir tranquilo.
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Ayuda con un simple programa en c#
« Respuesta #2 en: 2 Marzo 2010, 02:36 am »

Seria mejor asi:
Código
  1.        Dim x1, x2, bn As Double
  2.        Dim a, b, c As Integer
  3.  
  4.        a = 1
  5.        b = 6
  6.        c = 1
  7.  
  8.        bn = b * -1
  9.  
  10.        Dim radicando As Double = Math.Pow(b, 2) - 4  * a * c
  11.  
  12.        If radicando = 0 Then
  13.               x1 = (bn) / (2 *a)
  14.               MsgBox(x1 & " y es raiz doble")
  15.        ElseIf radicando > 0 Then
  16.               x1 = (bn + Math.Sqrt(radicando)) / (2 *a)
  17.               x2 = (bn - Math.Sqrt(radicando)) / (2 * a)
  18.               MsgBox(x1)
  19.               MsgBox(x2)
  20.        Else
  21.               Msgbox ("La ecuacion no tiene racies reales")
  22.        End If
  23.  
En línea

AckeR

Desconectado Desconectado

Mensajes: 109


Tu única Limitación Es tú Imaginación (:


Ver Perfil
Re: Ayuda con un simple programa en c#
« Respuesta #3 en: 2 Marzo 2010, 06:06 am »

Hola!

Pues tiene razón Alex, te dice eso porque saldria una raiz negativa (imaginaria).

Yo lo haría asi  :D

Código
  1.            int a, b, c;
  2.            double raiz,x1,x2;
  3.  
  4.            a = int.Parse(textBox1.Text);
  5.            b = int.Parse(textBox2.Text);
  6.            c = int.Parse(textBox3.Text);
  7.  
  8.  
  9.            if (a == 0)
  10.                MessageBox.Show("Error La Variable A no puede ser 0");
  11.            else
  12.            {
  13.                raiz = (b * b) - 4 * (a * c);
  14.                if (raiz < 0)
  15.                {
  16.                    MessageBox.Show("Error, raiz negativa (imaginaria)");
  17.                }
  18.                else
  19.                {
  20.                    x1 = ((-1 * b) + Math.Sqrt(raiz)) / (2 * a);
  21.                    x2 = ((-1 * b) - Math.Sqrt(raiz)) / (2 * a);
  22.  
  23.                    textBox4.Text = x1.ToString();
  24.                    textBox5.Text = x2.ToString();

suerte!
En línea


...DaR LaS GraCiaS No CuestA NadA...
Amagekure

Desconectado Desconectado

Mensajes: 63


la noche es mas oscura cuando va a amanecer


Ver Perfil
Re: Ayuda con un simple programa en c#
« Respuesta #4 en: 2 Marzo 2010, 18:59 pm »

Buena por tu ayuda gracias a ustedes 3 termine mi programa gracias la mejor web Elhacker.net FORO
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA! CON UN SIMPLE PROGRAMA.. ME DA ERROR!! POR QUE??
Programación C/C++
julian.97 6 5,851 Último mensaje 20 Junio 2011, 13:54 pm
por julian.97
Ayuda simple [php creo que es]
Desarrollo Web
Tzdah 2 2,155 Último mensaje 11 Febrero 2013, 23:40 pm
por EFEX
Problema programa simple: NULL
Java
salvagym 2 2,517 Último mensaje 24 Febrero 2013, 20:52 pm
por salvagym
Ayuda con un simple programa
Programación C/C++
CGB 2 1,990 Último mensaje 23 Agosto 2015, 19:36 pm
por Orubatosu
Una simple ayuda con un programa trabjando con sql « 1 2 »
Criptografía
skingwordgd 10 7,101 Último mensaje 15 Marzo 2017, 05:41 am
por skingwordgd
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines