Es lo que iba a postear (sólo que en modo consola) para obtener la primaria de una matriz cuadrada xD
Pero si lo que quieres es que no sea cuadrática, solamente modificas los valores n y declaras otra variable para las columnas
Module Module1
Sub Main()
Dim n As Integer
Console.WriteLine("Ingrese el tamaño de la matriz:")
n = Int32.Parse(Console.ReadLine())
Dim matriz(,) As Integer = New Integer(n, n) {}
'diagonal principal
For i As Integer = 1 To n
For j As Integer = 1 To n
If (i = j) Then
'imprimes la diagonal principal
Console.WriteLine("{0},{1}", i, j)
Console.ReadKey()
End If
Next
Next
End Sub
End Module
Para serte sincero no sabía qué era una diagonal principal, pero investigando es cuando el número es igual a otro par.. pero bueno, éste ya veo que lo resolviste ..
Podrías darme más detalles acerca de como obtener la secundaria alex?
EDIT: Corrígeme si lo que he buscado en google es incorrecto de cómo obtener la secundaria
imaginemos una matriz de 3x3
1 2 3
4 5 6
7 8 9
estas las posiciones
M1-1 M1-2 M1-3
M2-1 M2-2 M2-3
M3-1 M3-2 M3-3
la diagonal secundaria =3-5-7 (M1-3, M2-2, M3-1)
la secundaria, si te fijas (1-3, 2-2, 3-1) la suma de los indices es mayor por uno que el tamano de la matriz que en nuestro caso es de 3 y la suma de los indices en todos los casos es 4.
Edit2:
Al fin lo pude a adaptar al código (diagonal secundaria).
El código completo es..
Module Module1
Sub Main()
Dim n As Integer
Console.WriteLine("Ingrese el tamaño de la matriz:")
n = Int32.Parse(Console.ReadLine())
Dim matriz(,) As Integer = New Integer(n, n) {}
'diagonal principal
Console.WriteLine()
Console.WriteLine("La diagonal primaria es:")
For i As Integer = 1 To n
For j As Integer = 1 To n
If (i = j) Then
'imprimes la diagonal principal
Console.WriteLine("{0},{1}", i, j)
End If
Next
Next
Console.ReadKey(True)
'diagonal secundaria
Console.WriteLine()
Console.WriteLine("La diagonal secundaria es:")
For i As Integer = 1 To n
For j As Integer = 1 To n
If (i + j = n + 1) Then
'imprimes la diagonal secundaria
Console.WriteLine("{0},{1}", i, j)
End If
Next
Next
Console.ReadKey(True)
End Sub
End Module