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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)  (Leído 10,430 veces)
MikeSky

Desconectado Desconectado

Mensajes: 5



Ver Perfil
(Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)
« en: 10 Diciembre 2014, 19:55 pm »

Debo sumar los elementos que se encuentren en una fila o columna impar de una matriz que está en un DataGridView.
Éste es el código que llevo:

Código
  1.  
  2.        Dim i, j As Integer
  3.        Dim tabla(5, 5) As String
  4.  
  5.        'Pedir valores
  6.  
  7.        With DataGridView1
  8.  
  9.            .Columns.Add("", "")
  10.            .Columns.Add("", "")
  11.            .Columns.Add("", "")
  12.            .Columns.Add("", "")
  13.            .Columns.Add("", "")
  14.  
  15.            .RowCount = 5
  16.  
  17.            For i = 0 To 4
  18.  
  19.                For j = 0 To 4
  20.  
  21.                    tabla(i, j) = InputBox("Digite un número")
  22.                    .Item(i, j).Value = tabla(i, j)
  23.  
  24.                Next
  25.  
  26.            Next
  27.  
  28.  
  29.        End With
  30.  
  31.  


He hecho de todo pero no sé como sumar los elementos de una fila o columna impar.
Ayuda por favor !!! Se los agradezco de antemano


« Última modificación: 10 Diciembre 2014, 20:57 pm por MikeSky » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)
« Respuesta #1 en: 10 Diciembre 2014, 20:15 pm »

No se si te refieres a hacer esto:

Código
  1. Dim rowIndex As Integer = 0
  2. Dim colIndex As Integer = 1
  3.  
  4. Dim sumRow As Integer = (From cell As DataGridViewCell
  5.                       In DataGridView1.Rows(rowIndex).Cells
  6.                       Select CInt(cell.Value)
  7.                       ).Sum
  8.  
  9. Dim sumCol As Integer = (From cell As DataGridViewCell
  10.                       In DataGridView1.Rows.Item(colIndex).Cells
  11.                       Select CInt(cell.Value)
  12.                       ).Sum
  13.  
  14. MsgBox(sumRow)
  15. MsgBox(sumCol)

Saludos


En línea

MikeSky

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)
« Respuesta #2 en: 10 Diciembre 2014, 20:40 pm »

Elektro, gracias por responder !!!
Lo he programado según tu ayuda pero me genera error:

en la línea
Código:
Select CInt (cell.Value)

genera que se espera fin de instrucción

y en la línea
Código:
MsgBox(sumRow)
sumRow me aparece sin declarar

No entiendo por qué
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)
« Respuesta #3 en: 10 Diciembre 2014, 21:23 pm »

genera que se espera fin de instrucción
No entiendo por qué

Es un error de sintaxis (por tu parte), como te indica se espera un final de instrucción, un cierre tras una apertura de paréntesis, ¡muestra el código!

EDITO: Ah, ya veo, dejaste un espacio en blanco en: Cint (), aunque no se si ese será el único problema del código, muestralo si te sigue fallando.

¿Que versión de VisualStudio estás utilizando?, esos "descuidos" los debería resolver la IDE por si misma sin intervención tuya, a menos que estás utilizando una versión muy antigua quizás?.

Saludos!

« Última modificación: 10 Diciembre 2014, 21:29 pm por Eleкtro » En línea

MikeSky

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)
« Respuesta #4 en: 10 Diciembre 2014, 21:29 pm »

Sii jeje ya me salió ... era un error mío !!!

Estoy usando Visual 2008 Express

En cuanto al código que me enviaste, funciona perfecto con las dos primeras filas ... pero como es una matriz de 5 lineas puedo cambiarlo para que solo funciones con las lineas 1, 3 y 5 ??
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)
« Respuesta #5 en: 10 Diciembre 2014, 21:32 pm »

como es una matriz de 5 lineas puedo cambiarlo para que solo funciones con las lineas 1, 3 y 5 ??

Claro, crea un búcle que itere los índices para comprobar que índices son primos, y cuando encuentres uno, haces las sumas.

Con esta función puedes hacer la tarea de comprobar si un número es primo:

Citar
Código
  1.    ' Number Is Prime?
  2.    ' ( By Elektro)
  3.    '
  4.    ' Usage examples :
  5.    '
  6.    ' MsgBox(NumberIsPrime(3)) ' Result: True      
  7.    ' MsgBox(NumberIsPrime(4)) ' Result: False
  8.    '
  9.    ''' <summary>
  10.    ''' Determines whether a numeric value is prime.
  11.    ''' </summary>
  12.    ''' <param name="Value">Indicates the numeric value.</param>
  13.    ''' <returns><c>true</c> if value is prime, <c>false</c> otherwise.</returns>
  14.    Private Function NumberIsPrime(ByVal Value As Long,
  15.                                   Optional ByVal f As Long = 2L) As Boolean
  16.  
  17.        If Value = f Then
  18.            Return True
  19.  
  20.        ElseIf (Value Mod f = 0L Or Value = 1L) Then
  21.            Return False
  22.  
  23.        Else
  24.            Return NumberIsPrime(Value, f + 1L)
  25.  
  26.        End If
  27.  
  28.    End Function

EDITO: Pseudo-código:
Código:
for x as integer = 0 to (rows.count -1)

    if NumberIsPrime(x) then...
    end if

next


Saludos!
« Última modificación: 10 Diciembre 2014, 21:38 pm por Eleкtro » En línea

MikeSky

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)
« Respuesta #6 en: 10 Diciembre 2014, 21:44 pm »


Con esta función puedes hacer la tarea de comprobar si un número es primo:


Bueno no era lo que precisamente preguntaba, pero me sirve para otro proyecto que estoy haciendo. Jeje  :)

A lo que me refiero es si puedo modificar el código que pusiste de manera que solo sume los elementos de la línea 1, la linea 3y la línea 5

ALGO COMO ESTO

F1 1 2 3 4 5 = 15
F2 6 7 8 9 5
F3 2 6 8 7 2 = 25
F4 1 2 3 4 5
F5 1 2 4 9 2 = 18
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)
« Respuesta #7 en: 11 Diciembre 2014, 08:39 am »

Bueno no era lo que precisamente preguntaba, pero me sirve para otro proyecto que estoy haciendo. Jeje  :)

A lo que me refiero es si puedo modificar el código que pusiste de manera que solo sume los elementos de la línea 1, la linea 3y la línea 5

ALGO COMO ESTO

F1 1 2 3 4 5 = 15
F2 6 7 8 9 5
F3 2 6 8 7 2 = 25
F4 1 2 3 4 5
F5 1 2 4 9 2 = 18

No se si quieres hacerlo directamente usando las dimensiones de la matriz, o usando las filas del GridView (y si es esto último entonces ya tienes el código hecho, solo debes adaptarlo a tus necesidades),
sea como sea ambas cosas se hacen de "igual" forma, ¿cual es el problema que encuentras?, muestra tus progresos y especifica donde estás atascado.

Saludos!
« Última modificación: 11 Diciembre 2014, 08:41 am por Eleкtro » En línea

MikeSky

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)
« Respuesta #8 en: 12 Diciembre 2014, 17:07 pm »

Muchas gracias Elektro. aquí comparte el código para sumar elementos de filas impares de una matriz en DataGridView

Código
  1.  
  2. Dim i, j As Integer
  3.        Dim tabla(5, 5) As String
  4.  
  5.        'Pedir valores
  6.  
  7.        With DataGridView1
  8.  
  9.            .Columns.Add("", "")
  10.            .Columns.Add("", "")
  11.            .Columns.Add("", "")
  12.            .Columns.Add("", "")
  13.            .Columns.Add("", "")
  14.  
  15.            .RowCount = 5
  16.  
  17.            For i = 0 To 4
  18.  
  19.                For j = 0 To 4
  20.  
  21.                    tabla(i, j) = InputBox("Digite un número")
  22.                    .Item(i, j).Value = tabla(i, j)
  23.  
  24.                Next
  25.  
  26.            Next
  27.  
  28.  
  29.  
  30.        End With
  31.  
  32.        'Filas impares
  33.  
  34.        Dim fila1 As Integer = 0
  35.        Dim fila3 As Integer = 2
  36.        Dim fila5 As Integer = 4
  37.  
  38.        Dim sumFila1 As Integer = (From cell As DataGridViewCell In DataGridView1.Rows(fila1).Cells Select CInt(cell.Value)).Sum
  39.  
  40.        Dim sumFila3 As Integer = (From cell As DataGridViewCell In DataGridView1.Rows.Item(fila3).Cells Select CInt(cell.Value)).Sum
  41.  
  42.        Dim sumFila5 As Integer = (From cell As DataGridViewCell In DataGridView1.Rows.Item(fila5).Cells Select CInt(cell.Value)).Sum
  43.  
  44.        Label1.Visible = True
  45.        Label1.Text = "La suma de los valores de la primer fila es de " & sumFila1
  46.  
  47.        Label3.Visible = True
  48.        Label3.Text = "La suma de los valores de la tercera fila es de " & sumFila3
  49.  
  50.        Label5.Visible = True
  51.        Label5.Text = "La suma de los valores de la quinta fila es de " & sumFila5
  52.  
  53.  
« Última modificación: 12 Diciembre 2014, 19:21 pm por Eleкtro » En línea

CRIPLATA

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic)
« Respuesta #9 en: 15 Diciembre 2014, 09:27 am »

HOLA, TENGO UN PROBLEMA, QUIERO SUMAR LAS COLUMNAS IMPARES, INTENTE REALIZAR COMO UDS LO A REALIZADO PERO AL SUMAR LA COLUMNA EL RESULTADO ES LE MISMO QUE EL DE LA FILAS
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

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