Autor
|
Tema: ayuda con las operaciones de matrises en vb (Leído 1,668 veces)
|
[sadiko]
Desconectado
Mensajes: 3
|
bueno ese es mi problema que se introducen las matrices bien pero el problema es que cuando empuesa la primera operacion me marca un error me dice que el sub indice esta fuera del intervalo y me marca esta linea d(k, l) = a(i, j) - c(i, j)y segun el profe que me lo reviso estaba bien aqui esta mi code For i = 1 To 3 For j = i To 3 a(i, j) = InputBox("introduce la matriz a") Next j Next i For i = 1 To 3 For j = 1 To 3 b(i, j) = InputBox("introduce la matriz b") Next j Next i For i = 1 To 3 For j = 1 To 3 c(i, j) = InputBox("introduce la matriz c") Next j Next i For k = 1 To 3 For l = 1 To 3 d(k, l) = a(i, j) - c(i, j) e(k, l) = 3 * b(i, j) f(k, l) = 4 * a(i, j) g(k, l) = e(i, j) - f(i, j) h(1, 1) = d(1, 1) * g(1, 1) + d(1, 2) * g(2, 1) + d(1, 3) * g(3, 1) h(1, 2) = d(1, 1) * g(1, 2) + d(1, 2) * g(2, 2) + d(1, 3) * g(3, 2) h(1, 3) = d(1, 1) * g(1, 3) + d(1, 3) * g(2, 3) + d(1, 3) * g(3, 3) h(2, 1) = d(2, 1) * g(1, 1) + d(2, 2) * g(2, 1) + d(2, 3) * g(3, 1) h(2, 2) = d(2, 1) * g(1, 2) + d(2, 2) * g(2, 2) + d(2, 3) * g(3, 2) h(2, 3) = d(2, 1) * g(1, 3) + d(2, 2) * g(2, 3) + d(2, 3) * g(3, 3) h(3, 1) = d(3, 1) * g(1, 1) + d(3, 2) * g(2, 1) + d(3, 3) * g(3, 1) h(3, 2) = d(3, 1) * g(1, 2) + d(3, 2) * g(2, 2) + d(3, 3) * g(3, 2) h(3, 3) = d(3, 1) * g(1, 3) + d(3, 2) * g(2, 3) + d(3, 3) * g(3, 3) Next l Next k y otra cosa no se como iprimirlo en un label sin que se borre el primer valor osea que mi matriz sea 1,2,3 4,5,6 7,8,9 y se impima en ese orden por que si le doy label1=a(1,1); a(1,2); a(1,3) me marca error en el ; me dice que se esperava fin de la instruccion y si le doy label1=a(1,1) label1=a(1,2) etc etc me borra el primer valor y solo se queda con el ultimo salu2
|
|
« Última modificación: 14 Junio 2008, 19:13 pm por [sadiko] »
|
En línea
|
|
|
|
cassiani
Desconectado
Mensajes: 978
« Anterior | Próximo »
|
bueno ese es mi problema que se introducen las matrices bien pero el problema es que cuando empuesa la primera operacion me marca un error me dice que el sub indice esta fuera del intervalo y me marca esta linea d(k, l) = a(i, j) - c(i, j)
Fijate que estas usando las variables I y J para las operaciones, en un par de ciclos For que usan OTRAS variables (k y l)... cuando el antepenultimo par de For termina de usar las variables J e I estas toman el siguiente valor, o sea "4"... a(4,4) esta fuera del intervalo, además, debes usar dentro del ultimo par de For las variables de estos para las operaciones que realizas... d(K, L) = a(I, J) - c(I, J) 'Incorrecto d(K, L) = a(K, L) - c(K, L) 'Corecto
Para imprimirlo puedes hacer esto si lo sigues haciendo con el label, aunque para mi mejor un listbox... For K = 1 To 3 For L = 1 To 3 Label1.Caption = Label1.Caption & vbCrLf & h(K, L) Next L Next K
O si lo prefieres, así: J = 1 For I = 1 To 3 Label1.Caption = Label1.Caption & h(I, J) & " " & h(I, J + 1) & " " & h(I, J + 2) & vbCrLf Next
|
|
« Última modificación: 14 Junio 2008, 20:00 pm por cΔssiΔnі »
|
En línea
|
|
|
|
[sadiko]
Desconectado
Mensajes: 3
|
yea muchas gracias ya le entendi a las operaciones solo una cosita para imprimirlas no hay una forma de que me salgan bien en 3 x 3 osea que salgan en este formato por que me sale en forma de lista 1 2 3 1 2 3 1 2 3 pero gracias por las operaciones
|
|
|
En línea
|
|
|
|
cassiani
Desconectado
Mensajes: 978
« Anterior | Próximo »
|
solo una cosita para imprimirlas no hay una forma de que me salgan bien en 3 x 3 osea que salgan en este formato J = 1 For I = 1 To 3 Label1.Caption = Label1.Caption & h(I, J) & " " & h(I, J + 1) & " " & h(I, J + 2) & vbCrLf Next
|
|
|
En línea
|
|
|
|
|
|