Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Nidrogg en 26 Octubre 2014, 03:21 am



Título: ayuda con codigo de matrices
Publicado por: Nidrogg en 26 Octubre 2014, 03:21 am
buenas noches

chicos necesito de su ayuda para poder solucionar un problema que em estan dando en el instituto

se requiere lo siguiente: crear un formularios windows form para ingresar "N" cantidad de alumnos e ingresar "N" cantidad de notas
se debe mostrar el listado de alumnos ingresados y sus notas y el promedio.


tengo lo siguiente

Código
  1. dim alumnos(3,3) as integer
  2. dim contador as integer
  3. '' aqui se van agregando los valores
  4. for i = 0 to 3
  5. for j = 0 to 3
  6. alumnos(i,j)  = txtnotas.text
  7. next j
  8. next i
  9.  
  10. '' aqui se van listando los valores
  11. for i = 0 to 3
  12. for j = 0 to 3
  13. lista.items.add(alumnos(i,j))  '' la lista corresponde a un listbox
  14. next
  15. next


mi duda es la siguiente, al listar los numeros en el listbox se lista por ejemplo si ingreso el numero 1 se ingresan 4 numeros 1 ( 1111 ), y se deberian ingresar el primer numero 1 el sgundo y asi sucesivamente no se que estoy haciendo mal,

si alguien pudiera ayudarme con mi problema se los agradeceria.

saludos



[MOD]: Usa el botón "Insertar código".


Título: Re: ayuda con codigo de matrices
Publicado por: nolasco281 en 26 Octubre 2014, 03:39 am
Hola.

No soy mucho para las matrices pero no veo contador en los for osea el incremento i++ o j++ no se si me entiendes por eso te imprime 4 numeros 1 por que no hay incremento.

Saludos. espero te sirva si no alquien seguro te saca la duda aca.

PD usa etiquetas Geshi para entender mejor tu codigo saludos. Al lado de tipo de fuente


Título: Re: ayuda con codigo de matrices
Publicado por: Eleкtro en 26 Octubre 2014, 05:00 am
al listar los numeros en el listbox se lista por ejemplo si ingreso el numero 1 se ingresan 4 numeros 1 ( 1111 ), y se deberian ingresar el primer numero 1 el sgundo y asi sucesivamente no se que estoy haciendo mal,

No se entiende bien lo que pretendes hacer, he probado el código que has mostrado y me añade los números de las dimensiones de forma sucesiva, al menos lo que yo entiendo por sucesivamente.

Da más detalles. Muestra un ejemplo del resultado que obtienes, y otro del resultado que esperas obtener.

No se si será esto lo que pretendes hacer:

Código
  1. Dim alumnos(3, 3) As Integer
  2.  
  3. '' aqui se van agregando los valores
  4. For iOuter As Integer = alumnos.GetLowerBound(0) To alumnos.GetUpperBound(0)
  5.  
  6.    For iInner As Integer = alumnos.GetLowerBound(1) To alumnos.GetUpperBound(1)
  7.        alumnos(iOuter, iInner) = (iOuter + 1) * (iInner + 1)
  8.    Next iInner
  9.  
  10. Next iOuter
  11.  
  12.  
  13. '' aqui se van listando los valores
  14. Dim sb As New System.Text.StringBuilder
  15.  
  16. For iOuter As Integer = alumnos.GetLowerBound(0) To alumnos.GetUpperBound(0)
  17.  
  18.    sb.AppendFormat("Alumno {0}: ", CStr(iOuter))
  19.  
  20.    For iInner As Integer = alumnos.GetLowerBound(1) To alumnos.GetUpperBound(1)
  21.        sb.AppendFormat(" {0} ", CStr(alumnos(iOuter, iInner)))
  22.    Next iInner
  23.  
  24.    sb.AppendLine()
  25.  
  26. Next iOuter
  27.  
  28. With ListBox1
  29.    .SuspendLayout()
  30.    .Items.AddRange(sb.ToString.Split(Environment.NewLine))
  31.    .ResumeLayout()
  32. End With
  33.  
  34. sb.Clear()

(http://i.imgur.com/tT3eMkC.jpg)

Saludos