Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Pablo Videla

#1851
Java / Re: Problemita con el jcreator!! =(
12 Enero 2009, 20:59 PM
quizas no tienes el jdk instalado   :huh:
#1852
Hola amigos del foro , necesito una ayuda por aca...

Código (net) [Seleccionar]

using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Collections;


namespace ConsoleApplication1
{
    class Program
    {
        public static void PrintValues(IEnumerable myList)
        {

            Alumno e;
            System.Collections.IEnumerator enumerar = myList.GetEnumerator();
            while (enumerar.MoveNext())
            {
                e = (Alumno)enumerar.Current;
                Console.WriteLine("Nombre :" + e.nombre_);
                Console.WriteLine("Nota :" + e.nota_);
                //onsole.WriteLine("Moda :" + enumerar.Current);
                Console.WriteLine();
            }
        }
        public static void imprimirNotas(IEnumerable myList)
        {
            Alumno f;
            System.Collections.IEnumerator enumerar10 = myList.GetEnumerator();
            while (enumerar10.MoveNext())
            {
                f = (Alumno)enumerar10.Current;
                //Console.WriteLine("Nombre :" + e.nombre_);
                Console.WriteLine("Nota :" + f.nota_);
                //onsole.WriteLine("Moda :" + enumerar.Current);
                Console.WriteLine();
            }

        }
        static void Main(string[] args)
        {
            ArrayList lista = new ArrayList();
         //   SortedList notas = new SortedList();
            XmlDocument doc = new XmlDocument();
            Alumno a;
            String nombre;
            int opcion = 0;
            decimal nota=0;
            doc.Load("..\\..\\alumnos.xml");
            // ACA RECORRERE LOS NODOS DE LA LISTA DEL ARCHIVO
            //XML
            foreach (XmlNode nodo in doc.ChildNodes)
            {
                foreach (XmlNode nodo2 in nodo.ChildNodes)
                {
                    // GUARDAMOS LOS DATOS EN CADA UNA DE LAS VARIABLES CREADAS
                    nombre = nodo2.SelectSingleNode("nombre").InnerText;

                    nota = decimal.Parse(nodo2.SelectSingleNode("nota").InnerText);

                    Console.WriteLine("Nombre :" + nombre);

                    Console.WriteLine("Nota :" + nota);

                    a = new Alumno(nombre,nota);
                    lista.Add(a);
                    //notas.Add(notas,a);
                }
            }
                     
                    do
                    {

                        Console.WriteLine("1.- Mostrar Alumnos de la lista");
                        Console.WriteLine("2.- Mostrar nota del alumno segun el nombre");
                        Console.WriteLine("3.- Promedio de notas del curso");
                        Console.WriteLine("4.- Mediana de las notas");
                        Console.WriteLine("5.- Tabla de frecuencia de las notas del curso");
                        Console.WriteLine("6.- Mostrar la mejor nota del curso");
                        Console.WriteLine("7.- Mostrar las peores notas del curso");
                        Console.WriteLine("8 .- Salir");

                        Console.WriteLine("Ingrese la opcion que desea ");
                        opcion = int.Parse(Console.ReadLine());
                        switch (opcion)
                        {
                            case 1:
                                PrintValues(lista);
                                break;
                            case 2:
                                Console.WriteLine("Ingrese el nombre");
                                nombre = Console.ReadLine();
                                 Alumno b;
                                System.Collections.IEnumerator enumerar2 = lista.GetEnumerator();
                                while (enumerar2.MoveNext())
                                {
                                    b= (Alumno)enumerar2.Current;
                                    if (b.nombre_.ToLower().Equals(nombre.ToLower()))
                                    {
                                       
                                        Console.WriteLine("Nota :" + b.nota_);
                                        break;
                                    }
                                }
                              //  Console.WriteLine("Nota : " + b.nota_);
                                break;
                            case 3:
                                Alumno EM;
                                Decimal RESULTADO = 0;
                                Decimal promedio=0;
                                System.Collections.IEnumerator ENUMERA = lista.GetEnumerator();
                                while (ENUMERA.MoveNext())
                                {
                                    EM = (Alumno)ENUMERA.Current;

                                    nota = EM.nota_;
                                  String  name = EM.nombre_;

                                    RESULTADO = RESULTADO + nota/ lista.Count;
                                    // APROXIMO EL PROMEDIO PARA QUE NO SALGAN TANTOS DECIMALES
                                    promedio = Math.Round(RESULTADO);

                                    //break;
                                   
                                }
                                Console.WriteLine("El promedio es :" + promedio);
                                break;

                            case 4:
                              /*  int total = lista.Count;
                                double otro = total / 2;
                                double result = Math.Round(otro, 0);*/
                                double[] notas;
                                SortedList calificaciones;
                                calificaciones = new SortedList();
                                notas = new double[50];
                                double laMediana;
                                laMediana = 0;
                                int i=0;
                                System.Collections.IEnumerator ENUMERAT = lista.GetEnumerator();
                                while (ENUMERAT.MoveNext())
                                {
                                   Alumno EM2 = (Alumno)ENUMERAT.Current;

                                  nota = EM2.nota_;
                                  i++;
                                  nota = (decimal)notas[(int)(lista.Count / 2)];
                                     
                                   
                                   // String name = EM.nombre_;

                                   // RESULTADO = RESULTADO + nota / lista.Count;
                                 //notas.Add(nota);
                                 // lista.IndexOf(2);

                                 if (lista.Count % 2 == 0)
                                 {
                                     // N=4;
                                     // N/2 = 2 => 2-1
                                     laMediana = ((Double)notas[(int)(lista.Count / 2)] + (Double)notas[(int)((lista.Count / 2) - 1)]) / 2;
                                     //Console.Write("La Mediana del Curso es : " + laMediana);
                                 }
                                 else
                                 {

                                     // N=5
                                     // N-1=4 => 4/2 => 2
                                     laMediana =(double) notas[(int)((lista.Count - 1) / 2)];
                                    // Console.Write("La Mediana del Curso es : " + laMediana);
                                 }
                               
                                    //break;
                                 

                                }
                               
                              //  PrintValues(lista);
                               // Console.WriteLine("La media es : " + result);
                                // Console.Write("La Mediana del Curso es : " + laMediana);
                               
                                break;

                             
                            case 5:
                               // imprimirNotas(notas);
                                int uno, dos, tres, cuatro, cinco, seis, siete;
                                uno = 0; dos = 0; tres = 0; cuatro = 0; cinco = 0; seis = 0; siete = 0;
                                siete = 0;
                                Alumno es = new Alumno();
                                System.Collections.IEnumerator enumerar30 = lista.GetEnumerator();
                             
                                while (enumerar30.MoveNext())
                                {
                                      es = (Alumno)enumerar30.Current;

                                      if ((es.nota_ >=1  ) & (es.nota_ < 2))
                                      {

                                          uno++;

                                      }
                                      if ((es.nota_ >= 2) & (es.nota_ < 3))
                                      {

                                          dos++;

                                      }
                                      if ((es.nota_ >= 3) & (es.nota_ < 4))
                                      {

                                          tres++;

                                      }
                                      if ((es.nota_ >= 4)& (es.nota_ < 5))
                                      {

                                          cuatro++;

                                      }
                                      if ((es.nota_ >= 5) & (es.nota_ < 6))
                                      {

                                          cinco++;

                                      }
                                      if ((es.nota_ >=6) & (es.nota_ < 7))
                                      {

                                          seis++;


                                      }
                                      if (es.nota_ == 7)
                                      {
                                          //siete = 0;
                                          siete++;
                                          //Console.WriteLine("Nota 7 :" + siete);
                                      }
                                   
                                }
                             
                                   
                               
                               
                               
                              Console.WriteLine("**** TABLA DE FRECUENCIAS *****");
                                Console.WriteLine("Nota sobre 1 :" + uno);
                                Console.WriteLine("Nota sobre 2 : " + dos);
                                Console.WriteLine("Nota sobre 3 :" + tres);
                                Console.WriteLine("Nota sobre 4 :" + cuatro);
                                Console.WriteLine("Nota sobre 5:" + cinco);
                                Console.WriteLine("Nota sobre 6 :" + seis);
                                Console.WriteLine("Nota sobre 7 :" + siete);
                               
                                break;
                            case 6:
                                String names = null; decimal notas2 = 0;
                                Alumno dedicado;
                                System.Collections.IEnumerator enumerar3 = lista.GetEnumerator();
                                while (enumerar3.MoveNext())
                                {
                                    dedicado = (Alumno)enumerar3.Current;
                                    if (notas2 < dedicado.nota_)
                                    {
                                        notas2 = dedicado.nota_;
                                        names = dedicado.nombre_;
                                        Console.WriteLine("La mejor nota es : " + names);  //break;
                                    }
                                }

                                //Console.WriteLine("La mejor nota es : " + names);
                                break;
                            case 7:
                                String name2 = null; decimal NOTA = 7;
                                Alumno emple2;
                                System.Collections.IEnumerator enumerar4 = lista.GetEnumerator();
                                while (enumerar4.MoveNext())
                                {
                                    emple2 = (Alumno)enumerar4.Current;
                                    if (emple2.nota_ < NOTA)
                                    {
                                        NOTA = emple2.nota_;
                                        name2 = emple2.nombre_;
                                        Console.WriteLine("La persona  con peor nota es : " + name2);
                                    }
                                }
                               
                                break;
                        }
                    } while (opcion!=8);
                }
            }
        }
   


Miren los datos los saco de un xml y necesito sacar la mediana de las notas , osea la nota que esta al medio del arraylist y no he podido sacarlo , quien me da algunas idea porfa , se que el codigo es medio largo y enredado xD , pero recuerden que estoy recien aprendiendo... bueno espero que alguien me heche una mano , el case 4 es la mediana  que no he podido sacar , saludos.

Gracias de ante mano.

BadDevil
#1853
Ok gracias por la confirmacion , espero que el tipo haya hecho algo  :rolleyes:
#1854
Cita de: MLEON SCOTT en 28 Octubre 2008, 13:56 PM
Amigos buen dia un placer estar en este foro, quisiera un poquito de ayuda. En la universidad nos piden un proyecto de convertir numeros enteros en romanos con clases y no se por donde empezar podrian darme alguna sugerencia. Gracias de Antemano

man abre tu duda en otro hilo para ayudarte mas ordenadamente , y coloca lo que llevas hecho
#1855
pero el codigo esta bien? , solo digo para saber por que el compadre realmente no merece ayuda XD
#1856

            double x = 0;
            double potencia = 0;
            double raiz = 0;
           double a, b, c;
            a = 1; b = 1; c = 1;

            //x=(-b+√(b^2-4ac))/2a
            potencia = Math.Pow(b,2);
            double otro = potencia - 4 * a * c;
            raiz = Math.Sqrt(otro);
            x = -b + raiz / 2*a;

            Console.WriteLine("X =" + x);
            Console.ReadKey();


no tengo idea por que me imprime una wea rara , aver si ustedes me pueden ayudar xD
quizas este haciendo la wea como las weas es que estoy sin ganas xD
#1857
busca sobre las funciones math
x=(-b+√(b^2-4ac))/2a  para cualquier valor de a, b, c.

para raices = math.sqrt
para potencias = math.pow
quedaria algo asi
decimal b;
decimal potencia = math.pow(b,2)*4*a*c;
decimal numero = (-b + math.sqrt(potencia)) /2;

algo asi xD me da paja desarrollarla XD, pero es para que tengas una idea
#1858
.NET (C#, VB.NET, ASP) / Re: Aproximar un numero
25 Octubre 2008, 21:52 PM
Gracias por la ayuda , problema resuelto ,  ;D
#1859
.NET (C#, VB.NET, ASP) / Re: Aproximar un numero
23 Octubre 2008, 22:42 PM
Cita de: MANULOMM en 23 Octubre 2008, 22:19 PM
hola,
en este caso tu division da como resultado 1.5, la regla dice que si la expresion decimal es menor que o igual .5 se aproxima hasta el entero mas bajo si es superior a .5 se aproxima hasta el entero mas alto.
Intenta cambiar de numero y te daras cuenta que si funciona, pues la funcion que estas utilizando es la correcta.

Vinculo a la clase Math (MSDN).
http://msdn.microsoft.com/es-es/library/system.math(VS.80).aspx

Atentamente,

Juan Manuel Lombana
Medellín - Colombia

ahh muchas gracias , pero creo que no me servira para lo que quiero , por que quiero sacar la media de los sueldos de unos empleados , y necesito sacarlo del arreglo y sacar el del medio , mmm... no habra una funcion math para eso , no hablo de la media aritmetica , si no la media , esa de economia , xD , muchas gracias por tu respuesta , voy a tener que ingeniermela de otra forma =P
#1860
.NET (C#, VB.NET, ASP) / Aproximar un numero
23 Octubre 2008, 20:40 PM
Hola a todos , bueno tengo un pequeño problema en un ejercicio que estoy haciendo en C# , necesito aproximar un numero a un numero natural , ejemplo:

si un resultado me da 1,5 , necesito que lo aproxime a 2 , se entiende ?

int total = 3;
                        Decimal otro = total/ 2;
                        Decimal result = Math.Round(otro);
                       
                        Console.WriteLine("La media es : " + result);
                       

me dijeron que con esa funcion lo hacia , pero lo malo es que me da solo 1
Alguien sabe aproximar el valor? , gracias de ante mano , saludos

BadDevil.