Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: [sadiko] en 14 Junio 2008, 19:06 pm



Título: ayuda con las operaciones de matrises en vb
Publicado por: [sadiko] en 14 Junio 2008, 19:06 pm
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

Código:
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  :huh:

salu2 ::)


Título: Re: ayuda con las operaciones de matrises en vb
Publicado por: cassiani en 14 Junio 2008, 19:37 pm
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...

Código
  1. d(K, L) = a(I, J) - c(I, J) 'Incorrecto
  2. d(K, L) = a(K, L) - c(K, L) 'Corecto
  3.  

Para imprimirlo puedes hacer esto si lo sigues haciendo con el label, aunque para mi mejor un listbox...

Código
  1. For K = 1 To 3
  2.        For L = 1 To 3
  3.            Label1.Caption = Label1.Caption & vbCrLf & h(K, L)
  4.        Next L
  5. Next K

O si lo prefieres, así:

Código
  1. J = 1
  2.    For I = 1 To 3
  3.        Label1.Caption = Label1.Caption & h(I, J) & " " & h(I, J + 1) & " " & h(I, J + 2) & vbCrLf
  4.    Next


Título: Re: ayuda con las operaciones de matrises en vb
Publicado por: [sadiko] en 15 Junio 2008, 06:13 am
yea muchas gracias ya le entendi a las operaciones :D

solo una cosita para imprimirlas no hay una forma de que me salgan bien en 3 x 3 osea que salgan en este formato
Código:
1 2 3
1 2 3
1 2 3
por que me sale en forma de lista
1
2
3
1
2
3
1
2
3

pero gracias por las operaciones :D


Título: Re: ayuda con las operaciones de matrises en vb
Publicado por: cassiani en 15 Junio 2008, 16:31 pm
solo una cosita para imprimirlas no hay una forma de que me salgan bien en 3 x 3 osea que salgan en este formato
Código:
1 2 3
1 2 3
1 2 3

Código
  1. J = 1
  2. For I = 1 To 3
  3.        Label1.Caption = Label1.Caption & h(I, J) & " " & h(I, J + 1) & " " & h(I, J + 2) & vbCrLf
  4. Next