Autor
|
Tema: (Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic) (Leído 10,539 veces)
|
MikeSky
Desconectado
Mensajes: 5
|
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: Dim i, j As Integer Dim tabla(5, 5) As String 'Pedir valores With DataGridView1 .Columns.Add("", "") .Columns.Add("", "") .Columns.Add("", "") .Columns.Add("", "") .Columns.Add("", "") .RowCount = 5 For i = 0 To 4 For j = 0 To 4 tabla(i, j) = InputBox("Digite un número") .Item(i, j).Value = tabla(i, j) Next Next End With
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
Mensajes: 9.818
|
No se si te refieres a hacer esto: Dim rowIndex As Integer = 0 Dim colIndex As Integer = 1 Dim sumRow As Integer = (From cell As DataGridViewCell In DataGridView1.Rows(rowIndex).Cells Select CInt(cell.Value) ).Sum Dim sumCol As Integer = (From cell As DataGridViewCell In DataGridView1.Rows.Item(colIndex).Cells Select CInt(cell.Value) ).Sum MsgBox(sumRow) MsgBox(sumCol)
Saludos
|
|
|
En línea
|
|
|
|
MikeSky
Desconectado
Mensajes: 5
|
Elektro, gracias por responder !!! Lo he programado según tu ayuda pero me genera error: en la línea genera que se espera fin de instrucción y en la línea sumRow me aparece sin declarar No entiendo por qué
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.818
|
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
Mensajes: 5
|
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
Mensajes: 9.818
|
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: ' Number Is Prime? ' ( By Elektro) ' ' Usage examples : ' ' MsgBox(NumberIsPrime(3)) ' Result: True ' MsgBox(NumberIsPrime(4)) ' Result: False ' ''' <summary> ''' Determines whether a numeric value is prime. ''' </summary> ''' <param name="Value">Indicates the numeric value.</param> ''' <returns><c>true</c> if value is prime, <c>false</c> otherwise.</returns> Private Function NumberIsPrime(ByVal Value As Long, Optional ByVal f As Long = 2L) As Boolean If Value = f Then Return True ElseIf (Value Mod f = 0L Or Value = 1L) Then Return False Else Return NumberIsPrime(Value, f + 1L) End If End Function
EDITO: Pseudo-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
Mensajes: 5
|
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
Mensajes: 9.818
|
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
Mensajes: 5
|
Muchas gracias Elektro. aquí comparte el código para sumar elementos de filas impares de una matriz en DataGridView Dim i, j As Integer Dim tabla(5, 5) As String 'Pedir valores With DataGridView1 .Columns.Add("", "") .Columns.Add("", "") .Columns.Add("", "") .Columns.Add("", "") .Columns.Add("", "") .RowCount = 5 For i = 0 To 4 For j = 0 To 4 tabla(i, j) = InputBox("Digite un número") .Item(i, j).Value = tabla(i, j) Next Next End With 'Filas impares Dim fila1 As Integer = 0 Dim fila3 As Integer = 2 Dim fila5 As Integer = 4 Dim sumFila1 As Integer = (From cell As DataGridViewCell In DataGridView1.Rows(fila1).Cells Select CInt(cell.Value)).Sum Dim sumFila3 As Integer = (From cell As DataGridViewCell In DataGridView1.Rows.Item(fila3).Cells Select CInt(cell.Value)).Sum Dim sumFila5 As Integer = (From cell As DataGridViewCell In DataGridView1.Rows.Item(fila5).Cells Select CInt(cell.Value)).Sum Label1.Visible = True Label1.Text = "La suma de los valores de la primer fila es de " & sumFila1 Label3.Visible = True Label3.Text = "La suma de los valores de la tercera fila es de " & sumFila3 Label5.Visible = True Label5.Text = "La suma de los valores de la quinta fila es de " & sumFila5
|
|
« Última modificación: 12 Diciembre 2014, 19:21 pm por Eleкtro »
|
En línea
|
|
|
|
CRIPLATA
Desconectado
Mensajes: 6
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
fila impar, un color, fila par, otro color...
PHP
|
Luisango
|
5
|
5,461
|
25 Marzo 2007, 12:23 pm
por дٳŦ٭
|
|
|
Como sumar la ultima fila y cuarta columna en una matriz ?
Java
|
goanzaloo
|
1
|
5,669
|
9 Diciembre 2011, 01:22 am
por Valkyr
|
|
|
[Ayuda]Sumar elementos de un listBox y mostrarlos en un textBox
Programación C/C++
|
Beaustyle
|
1
|
7,242
|
16 Junio 2013, 00:55 am
por aguml
|
|
|
Sumar los elementos de una fila de una matriz en Pythong
Dudas Generales
|
Matinegro
|
1
|
2,613
|
10 Noviembre 2013, 20:41 pm
por crazykenny
|
|
|
[ayuda]si la suma de fila es igual a la suma de columna imprima es simetrica
Programación C/C++
|
l.calderon609
|
2
|
2,760
|
14 Noviembre 2016, 20:47 pm
por l.calderon609
|
|