Autor
|
Tema: Matriz (Leído 1,688 veces)
|
gcghr
Desconectado
Mensajes: 2
|
|
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
Mensajes: 187
His brain caught in a hole...
|
|
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. int matriz[25] = { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, }; int j; void set_matriz() { matriz[j] = ((matriz[j-1])+(matriz[j-5])); } int main() { for(j = 6; j < 10; j++) set_matriz(); for(j = 11; j < 15; j++) set_matriz(); for(j = 16; j < 20; j++) set_matriz(); for(j = 21; j < 25; j++) set_matriz(); for(j = 0; j < 5; j ++) printf("%i ",matriz [j ]); for(; j < 10; j ++) printf("%i ",matriz [j ]); for(; j < 15; j ++) printf("%i ",matriz [j ]); for(; j < 20; j ++) printf("%i ",matriz [j ]); for(; j < 25; j ++) printf("%i ",matriz [j ]); return 0; }
Y la salida me dio esto: 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: git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++: git clone https://github.com/armizh/Hamster
|
|
|
gcghr
Desconectado
Mensajes: 2
|
|
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 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
Mensajes: 187
His brain caught in a hole...
|
|
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) #include <stdio.h> int matriz[5][5] = { { 1, 1, 1, 1, 1, }, { 1, 0, 0, 0, 0, }, { 1, 0, 0, 0, 0, }, { 1, 0, 0, 0, 0, }, { 1, 0, 0, 0, 0, }, }; int x, y; void set_matriz() { matriz[x][y] = ((matriz[x][y-1])+(matriz[x-1][y])); } int main() { for(x=1;x<5;x++) { for(y=1;y<5;y++) set_matriz(); } for(x=0;x<5;x++) { for(y=0;y<5;y++) } return 0; }
Saludos.
|
|
|
En línea
|
Visita mi blog: http://armizh.10h.us/Fnx, fork de FreeNOS: git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++: git clone https://github.com/armizh/Hamster
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
matriz c#
.NET (C#, VB.NET, ASP)
|
shin_akuma
|
2
|
10,859
|
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
|
14 Agosto 2010, 06:18 am
por EddyW
|
|
|
Matriz en C++
Programación C/C++
|
delirio
|
2
|
20,628
|
27 Noviembre 2010, 22:48 pm
por darkvidhack
|
|
|
Matriz Dentro de otra matriz
Programación Visual Basic
|
moba741120
|
3
|
6,746
|
13 Abril 2011, 18:29 pm
por raul338
|
|
|
Matriz
Programación C/C++
|
el4celeste
|
8
|
3,515
|
19 Julio 2011, 06:13 am
por <<<-Basura->>>
|
|