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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Matriz
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Matriz  (Leído 1,688 veces)
gcghr

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Matriz
« en: 2 Febrero 2012, 22:49 pm »

Hola, soy nuevo en esto y tengo el siguiente problema: necesito generar una matriz 5x5 en la que se vayan sumando los numeros que esten a un desplazamiento a su izquierda y arriba, pongo el siguiente ejemplo:
(La matriz debera generar un cuadrado de cualquier dimension)

1 1  1   1   1
1 2  3   4   5
1 3  6  10 15
1 4 10 20 35
1 5 15 35 70

Hasta ahora e conseguido lo siguiente:
00000
12345
23456
34567
45678

    int matriz[][] = new int[5][5];
    // Ponemos datos en el array
        for ( int i=1; i < 5; i++ ) {
            for ( int j=0; j < matriz.length; j++ )
            matriz[j] = i + j;
      }
    // y vemos su contenido, utilizando un bucle for
        for ( int i=0; i < 5; i++ ) {
            for ( int j=0; j < matriz.length; j++ )
                System.out.print( matriz[j] );
                System.out.println(" ");
        }
    }
}


En línea

armizh

Desconectado Desconectado

Mensajes: 187

His brain caught in a hole...


Ver Perfil WWW
Re: Matriz
« Respuesta #1 en: 4 Febrero 2012, 01:57 am »

Ehhh hombre, por tu problema me hiciste hacer el problema completo xd. Pero tu lo intentaste en C++, y yo no le pego mucho a C++ pero lo hice en C.
Código
  1. int matriz[25] = {
  2. 1, 1, 1, 1, 1,
  3. 1, 0, 0, 0, 0,
  4. 1, 0, 0, 0, 0,
  5. 1, 0, 0, 0, 0,
  6. 1, 0, 0, 0, 0,
  7. };
  8.  
  9. int j;
  10.  
  11. void set_matriz()
  12. {
  13. matriz[j] = ((matriz[j-1])+(matriz[j-5]));
  14. }
  15.  
  16. int main()
  17. {
  18. for(j = 6; j < 10; j++) set_matriz();
  19. for(j = 11; j < 15; j++) set_matriz();
  20. for(j = 16; j < 20; j++) set_matriz();
  21. for(j = 21; j < 25; j++) set_matriz();
  22.  
  23. for(j = 0; j < 5; j++) printf("%i ",matriz[j]);
  24. printf("\n");
  25. for(; j < 10; j++) printf("%i ",matriz[j]);
  26. printf("\n");
  27. for(; j < 15; j++) printf("%i ",matriz[j]);
  28. printf("\n");
  29. for(; j < 20; j++) printf("%i ",matriz[j]);
  30. printf("\n");
  31. for(; j < 25; j++) printf("%i ",matriz[j]);
  32. printf("\n");
  33.  
  34. return 0;
  35. }

Y la salida me dio esto:
Código:
1 1 1 1 1 
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 5 15 35 70

Ahora tratare de optimizarlo al maximo el codigo ya que es muy tosco. Bueno espero te ayude esto y te de una idea de como hacerlo. Ya que me di cuenta que hay por lo menos 3 formas distintas de hacerlo (hablando de algoritmos).

Saludos


En línea

Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código
  1. git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código
  1. git clone https://github.com/armizh/Hamster
gcghr

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Matriz
« Respuesta #2 en: 4 Febrero 2012, 16:25 pm »

Muchas gracias : )
Ya lo siento ya dije que era nuevo en esto jajaja pero la verdad esque no entiendo todavia muy bien como va esto de las matrices y vectores de todo lo que e dado es lo peor que llevo :S
Como lo llevo mal estoy intentadolo hacer de otra forma... con la matriz me pondre luego haber si comprendo como funciona ya que luego supongo que sera todo igual solo que con otros ejemplos
De la manera que lo estoy intentando hacer seria de forma recursiva me falta todavia un trocito de codigo lo pongo para que le hecheis un vistazo : D
Código:
public class EjP1 {
   
    public static int dato(int fila, int columna)
    {
        if (fila<1 || columna<1)
            return 0;
        if (fila<1 || columna==1)
            return 1;
        return dato(fila-1,columna)+dato(fila,columna-1);
    }

    public static void cuadrado(int dimension)
    {
        for (int j=1;j<dimension+1;j++)
        {
            for (int i=1;j<dimension+1;j++)
            {
               
            }
        }
        System.out.println("");
    }     
   
    public static void main( String args[] ) {
        cuadrado(5);
    }
}
En línea

armizh

Desconectado Desconectado

Mensajes: 187

His brain caught in a hole...


Ver Perfil WWW
Re: Matriz
« Respuesta #3 en: 4 Febrero 2012, 20:28 pm »

De nada :) Por cierto, para que sepas, lo que hice yo no es una matriz, es solo un array, las matrices son multidimensionales, los array son unidimensionales. El ejercicio que pones se resuelve con una array facilmente (como yo lo hice) pero con una matriz tambien se puede perfectamente, de hecho ahora mismo te muestro la misma función, pero con matriz en vez de array (tal vez el código es mas lindo con la matriz)
Código
  1. #include <stdio.h>
  2.  
  3. int matriz[5][5] = {
  4. { 1, 1, 1, 1, 1, },
  5. { 1, 0, 0, 0, 0, },
  6. { 1, 0, 0, 0, 0, },
  7. { 1, 0, 0, 0, 0, },
  8. { 1, 0, 0, 0, 0, },
  9. };
  10.  
  11. int x, y;
  12.  
  13. void set_matriz()
  14. {
  15. matriz[x][y] = ((matriz[x][y-1])+(matriz[x-1][y]));
  16. }
  17.  
  18. int main()
  19. {
  20. for(x=1;x<5;x++) {
  21. for(y=1;y<5;y++)
  22. set_matriz();
  23. }
  24.  
  25. for(x=0;x<5;x++) {
  26. for(y=0;y<5;y++)
  27. printf("%d ",matriz[x][y]);
  28. printf("\n");
  29. }
  30.  
  31. return 0;
  32. }

Saludos.
En línea

Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código
  1. git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código
  1. git clone https://github.com/armizh/Hamster
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
matriz c#
.NET (C#, VB.NET, ASP)
shin_akuma 2 10,859 Último mensaje 30 Junio 2008, 22:06 pm
por shin_akuma
Duda - Buscar si existe una matriz dentro de otra matriz
Programación Visual Basic
EddyW 2 5,829 Último mensaje 14 Agosto 2010, 06:18 am
por EddyW
Matriz en C++
Programación C/C++
delirio 2 20,628 Último mensaje 27 Noviembre 2010, 22:48 pm
por darkvidhack
Matriz Dentro de otra matriz
Programación Visual Basic
moba741120 3 6,746 Último mensaje 13 Abril 2011, 18:29 pm
por raul338
Matriz
Programación C/C++
el4celeste 8 3,515 Último mensaje 19 Julio 2011, 06:13 am
por <<<-Basura->>>
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines