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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Problema con imprimir diagonales en matriz bidimensional
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con imprimir diagonales en matriz bidimensional  (Leído 8,231 veces)
greenselves

Desconectado Desconectado

Mensajes: 73



Ver Perfil
Problema con imprimir diagonales en matriz bidimensional
« en: 18 Marzo 2010, 14:13 pm »

hola! Tengo que hacer un programa en C#, donde coloco un identificador desntro de una tabla de 8*8, y despues imprimir sus 4 diagonales, dentro de la tabla.

es decir

*    *
 * *
  A
 * *
*    *

tengo hecho esto

      for(i=fila+1; i<8; i++ )
      {
         columna++;
         var[i,columna]='*';
      } // diagonal derecha abajo

donde me imprime la diagonal derecha, hacia abajo,
pero ya que continuo con las otras 3 diagonales, me marca error, al ejecutar.

      for ( i=fila-1; i>=0; i-- )
      {   
         columna++;
         var[i,columna]='*';
      }//diagonal derecha arriba
Dice que me paso del limite del arreglo.

Algun consejo para poder resolver mi problema?

nota: antes de cada ciclo tengo que inicializar nuevamente fila y columna,
porque sino, cada variable viene incrementado antes de entrar a otro ciclo for.

Por su ayuda gracias.





En línea

Greenselves
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Problema con imprimir diagonales en matriz bidimensional
« Respuesta #1 en: 18 Marzo 2010, 18:58 pm »

Te puede ayudar en algo, conviertelo a C#.
Código
  1.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.        Dim strMatriz(4, 4) As Integer 'Matriz
  3.        'Seteo de datos dentro de la matriz
  4.        strMatriz(0, 0) = 1
  5.        strMatriz(0, 1) = 2
  6.        strMatriz(0, 2) = 3
  7.        strMatriz(0, 3) = 4
  8.        strMatriz(1, 0) = 5
  9.        strMatriz(1, 1) = 6
  10.        strMatriz(1, 2) = 7
  11.        strMatriz(1, 3) = 8
  12.        strMatriz(2, 0) = 9
  13.        strMatriz(2, 1) = 10
  14.        strMatriz(2, 2) = 11
  15.        strMatriz(2, 3) = 12
  16.        strMatriz(3, 0) = 13
  17.        strMatriz(3, 1) = 14
  18.        strMatriz(3, 2) = 15
  19.        strMatriz(3, 3) = 16
  20.  
  21.        'Diagonal de Sup-Izq|Inf-Der
  22.        ' 1 2  3  4
  23.        ' 5 6  7  8
  24.        ' 9 10 11 12
  25.        '13 14 15 16
  26.  
  27.        'Print = 1 6 11 16
  28.        Dim dia1 As String
  29.        For i As Integer = 0 To 3
  30.            For j As Integer = 0 To 3
  31.                If i = j Then
  32.                    dia1 = dia1 & strMatriz(i, j) & " "
  33.                End If
  34.            Next
  35.        Next
  36.        MsgBox(dia1)
  37.  
  38.        'Diagonal de Sup-Der|Inf-Izq
  39.        ' 1 2  3  4
  40.        ' 5 6  7  8
  41.        ' 9 10 11 12
  42.        '13 14 15 16
  43.        'Print = 4 7 10 13
  44.  
  45.        Dim dia2 As String
  46.        For i As Integer = 0 To 3
  47.            For j As Integer = 0 To 3
  48.                If (i + j = 2 + 1) Then
  49.                    dia2 = dia2 & strMatriz(i, j) & " "
  50.                End If
  51.            Next
  52.        Next
  53.        MsgBox(dia2)
  54.    End Sub


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
greenselves

Desconectado Desconectado

Mensajes: 73



Ver Perfil
Re: Problema con imprimir diagonales en matriz bidimensional
« Respuesta #2 en: 19 Marzo 2010, 16:34 pm »

ya lo he solucionado, gracias

      for(i=fila+1; i<8; i++ )
      {
         columna++;
         a[i,columna]='*';
      }



      for(i=columna-1; i>=0; i-- )
      {
         fila++;
         a[fila,i]='*';
      }



      for ( i=fila-1; i>=0; i-- )
      {   
         columna++;
         a[i,columna]='*';
      }





   for (i=fila-1; i>=0; i--)
      {   
         columna--;
         if ( columna>=0)
         {
            a[i,columna]='*';
         }
         else
         break;
      }
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[RETO] Matriz Bidimensional {FrogMatrix algorithm} « 1 2 »
Programación Visual Basic
Psyke1 13 7,104 Último mensaje 30 Noviembre 2010, 19:33 pm
por 79137913
matriz bidimensional
Programación C/C++
ALONSOQ 2 2,201 Último mensaje 20 Junio 2012, 23:23 pm
por ALONSOQ
Ayuda con imprimir una matriz en arreglo bidimensional
Programación C/C++
conker93 1 8,050 Último mensaje 6 Octubre 2012, 04:13 am
por shellb_c0de
Matriz Que vuelva las diagonales 1 con funciones
Programación C/C++
juand.0203 0 1,202 Último mensaje 2 Octubre 2015, 04:02 am
por juand.0203
Problema accediendo a puntero de matriz bidimensional, ¿Como hago esto....? « 1 2 »
Programación C/C++
Xajorkith 10 4,629 Último mensaje 26 Abril 2016, 02:30 am
por Xajorkith
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines