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


 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  vb en aplicacion consola
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: vb en aplicacion consola  (Leído 2,930 veces)
chrisstine2975

Desconectado Desconectado

Mensajes: 4


Ver Perfil
vb en aplicacion consola
« en: 16 Mayo 2012, 07:38 »

hola! soy nueva por aqui y estoy aprendiendo visual basic, se que para muchos esto resultara facil, pero yo no logro entender porque no me da el resultado adecuado.

si alguien me puede indicar que estoy haciendo mal, para poder corregir... estamos viendo arreglos en 2d..


este es el problema y lo que tengo hasta ahorita

.       Se tienen las estaturas del grupo de estudiantes de programación 2, grupo 03 y se desea por medio de un programa encontrar la estatura más alta, la más baja y el promedio de estaturas del grupo.
2.  Sub Main()
3.          Dim estudiantes, suma, promedio, may, menor As Double
4.          Console.WriteLine("cuantos estudiantes desea ingresar:")
5.          estudiantes = Console.ReadLine
6.          Dim estatura(estudiantes) As Double
7.          Dim i As Integer
8.          For i = 0 To estudiantes - 1
9.              Console.WriteLine("ingrese la estatura del estudiante:" & i + 1)
10.             estatura(estudiantes) = Console.ReadLine
11.             suma = estatura(estudiantes) + suma
12.         Next
13.        
14.         may = 0
15.         For i = 0 To estatura(estudiantes)
16.             If estatura(estudiantes) >= may Then
17.                 may = estatura(i)
18.             End If
19.  
20.         Next
21.         menor = 0
22.         For i = 0 To estatura(estudiantes)
23.             If estatura(estudiantes) < menor Then
24.                 menor = estatura(estudiantes)
25.             End If
26.         Next
27.         promedio = suma / estudiantes
28.  
29.         Console.WriteLine(" el Mayor de la estatura es de:" & may)
30.         Console.WriteLine(" el Menor de la estatura es de:" & menor)
31.         Console.WriteLine(" el promedio de la estatura es de:" & promedio)
32.         Console.ReadLine()
33.  
34.  
35.  
36.     End Sub

lo que me esta fallando es que no logro encontrar la estatura menor  y mayor, el promedio si me funciona.....

 


« Última modificación: 16 Mayo 2012, 07:46 por chrisstine2975 » En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.371


S3C M4NI4C


Ver Perfil
Re: vb en aplicacion consola
« Respuesta #1 en: 16 Mayo 2012, 12:46 »

Para la próxima postea en el subforo correcto y colorea el código con la etiqueta GeShi que encontraras en el editor de mensajes.

Bueno, tu error está en que no declaras bien la forma en la que recorres los For de Mayor/Menor Estatura. Es decir, tu haces lo siguiente

Código
  1. may = 0
  2.         For i = 0 To estatura(estudiantes)
  3.             If estatura(estudiantes) >= may Then
  4.                may = estatura(i)
  5.             End If
  6.  
  7.         Next
  8.         menor = 0
  9.         For i = 0 To estatura(estudiantes)
  10.           If estatura(estudiantes) < menor Then
  11.                 menor = estatura(estudiantes)
  12.             End If
  13.         Next
  14.  

Ahí lo que haces es ir desde 0 hasta el valor de la matriz Estatura en el indice Estudiantes, donde Estudiantes será el valor que ingresaste al principio.

Para recorrer bien el For, hazlo de la siguiente manera :D (Como hiciste al principio)
Código
  1. For i = 0 To estudiantes - 1
  2.             If estatura(i) >= may Then
  3.                may = estatura(i)
  4.           End If
  5. next
  6.  

Tienes más errores, pero derivan de lo que te he explicado. Corrigelos y nos cuentas :)
Saludos.


« Última modificación: 16 Mayo 2012, 12:49 por kub0x » En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

chrisstine2975

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: vb en aplicacion consola
« Respuesta #2 en: 20 Mayo 2012, 11:11 »

gracias!! lo reviso y les cuento!!! :P
En línea

chrisstine2975

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: vb en aplicacion consola
« Respuesta #3 en: 20 Mayo 2012, 11:46 »

ya lo revise.... pero no logro dar con que pasa..... :huh:

lo corregi pero ahora me funciona el promedio pero no me funciona el menor ni mayor.....

Dim estudiantes, suma, promedio, may, menor As Double
        Console.WriteLine("cuantos estudiantes desea ingresar:")
        estudiantes = Console.ReadLine
        Dim estatura(estudiantes) As Double
        Dim i As Integer
        For i = 0 To estudiantes - 1
            Console.WriteLine("ingrese la estatura del estudiante:" & i + 1)
            estatura(estudiantes) = Console.ReadLine
            suma = estatura(estudiantes) + suma
        Next
        may = 0
        For i = 0 To estudiantes - 1
            If estatura(i) >= may Then
                may = estatura(i)
            End If

        Next
        menor = 0
        For i = 0 To estudiantes - 1
            If estatura(i) < menor Then
                menor = estatura(i)
            End If
        Next
        promedio = suma / estudiantes

        Console.WriteLine(" el Mayor de la estatura es de:" & may)
        Console.WriteLine(" el Menor de la estatura es de:" & menor)
        Console.WriteLine(" el promedio de la estatura es de:" & promedio)
        Console.ReadLine()
En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: vb en aplicacion consola
« Respuesta #4 en: 20 Mayo 2012, 17:58 »

Código
  1. Dim estudiantes, suma, promedio, may, menor As Double
  2.        Console.WriteLine("cuantos estudiantes desea ingresar: ")
  3.        estudiantes = Console.ReadLine
  4. Dim estatura(estudiantes) As Double
  5. Dim i As Integer
  6.        For i = 0 To estudiantes - 1
  7.            Console.WriteLine("ingrese la estatura del estudiante " & Cstr(i + 1) & ": ")
  8.            estatura(i) = Console.ReadLine
  9.            suma = estatura(i) + suma
  10.        Next
  11.        may = 0
  12.        For i = 0 To estudiantes - 1
  13.            If estatura(i) >= may Then
  14.                may = estatura(i)
  15.            End If
  16.  
  17.        Next
  18.        menor = 0
  19.        For i = 0 To estudiantes - 1
  20.            If estatura(i) < menor Then
  21.                menor = estatura(i)
  22.            End If
  23.        Next
  24.        promedio = suma / estudiantes
  25.  
  26.        Console.WriteLine(" el Mayor de la estatura es de:" & may)
  27.        Console.WriteLine(" el Menor de la estatura es de:" & menor)
  28.        Console.WriteLine(" el promedio de la estatura es de:" & promedio)
  29.        Console.ReadLine()
  30.  
  31.  

Asi tendria que andar... lo que no se es si en vb.net se usa Cstr(integer) o sino anda le haces (i + 1).ToString()
Y lo otro es que en vb6 cuando pones array(6) ese 6 no es la cantidad, sino el ultimo valor, por lo que habria 7 estudiantes, pero no se en vb.net si cambia eso, esto lo miras si aprendes a debuggear tu programa, poniendo Break Points y viendo como va aumentando la variable del bucle y como va funcionando tu codigo, asi le encuentras el error facil, mas en esto que son pocas lineas.

Despues lo de menor o mayor, fijate bien que es lo que queres, ya que puede que algunos midan lo mismo de altura y el ultimo que se ingrese de esos que miden igual, sera el mayor si es que no hay otro mayor aun. Es decir, de los mayores, si hay mas de 1 con la misma altura, se guardara como mayor el ultimo que se ingrese.

Pero para lo de el menor no, asi que tienes que ver eso, tal vez hasta puedes hacer que te diga: "Hay X mayores.. son: ...", dejarias de boca abierta al profesor jeje
En línea

chrisstine2975

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: vb en aplicacion consola
« Respuesta #5 en: 21 Mayo 2012, 07:01 »

jajaja... gracias por la ayuda lo pruebo mañana y les cuento.... ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines