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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  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,421 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.724


<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

Te vendería mi talento por poder dormir tranquilo.
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,654 Último mensaje 30 Noviembre 2010, 19:33 pm
por 79137913
matriz bidimensional
Programación C/C++
ALONSOQ 2 2,427 Ú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,347 Ú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,367 Ú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 5,122 Último mensaje 26 Abril 2016, 02:30 am
por Xajorkith
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines