Ayuda con ARREGLOS MULTIDIMENCIONALES (matrices)

Iniciado por poroto_q, 17 Julio 2012, 22:09 PM

0 Miembros y 1 Visitante están viendo este tema.

poroto_q

amigos necesito ayuda con un pequeño trabajo, estoy estudiando son mis primeras clases y no se mucho. Cualquier ayuda es agradecida.

Realiza un programa que pida al usuario las dimensiones deseadas para una matriz de dos dimensiones y luego le pida los datos para llenar la matriz arreglo. Después el programa debe dar la opción a través de un menú de calcular la suma de cualquier fila o columna del arreglo. Luego mostrar los datos de la columna con su correspondiente suma en pantalla. El menú debe tener la opción para salir y terminar el programa.
El programa debe trabajar con una matriz que tengan como máxima cantidad de filas y columnas 20. 

DickGumshoe

#1
Bueno, por lo que veo necesitas memoria dinámica. Para ello, puedes usar la función malloc

Como el límite es 20 filas y columnas, haz un bucle do-while, pidiendo al usuario el número de filas y columnas que desea (n), mientras n <= 20

Para hacer la matriz de forma dinámica, aunque ya te he pasado el link para que veas cómo funciona malloc(), te dejo de todas formas cómo sería:


int** Inicializar(int x, int y) //x es el número de filas; y es el número de columnas
{
int **M, i;
M = (int**)malloc(x * sizeof(int*)); //Inicializamos filas
for(i = 0; i < x; i++)
M[i] = (int*)malloc(y * sizeof(int)); //Inicializamos columnas
return M;
}


Intenta hacer el resto y pregunta todas las dudas que tengas  :D

Saludos!

poroto_q


DickGumshoe

Una cosa, ¿has dado memoria dinámica? Es que si no es así, puedes hacerlo sin la función que te he dicho, ya que especifica que debe tener como máximo 20 filas y columnas.

Lo correcto sería hacerlo con malloc, ya que no sabes cuántas filas y columnas va a tener, pero si no lo has dado siempre puedes declarar la matriz como M[20][20].

Saludos, y cualquier duda, pregunta  ;)

marcico

#4
consulta!

y si el array que tengo que hacer es mucho mas grande de 20... yo quiero hacer un  array depende de 2 cosa... ejemplo...

tengo en el array

            nd   o
            bn                               rf                                         df             
           1   2   3    4                   1   3                                     2     4

asd      x  x         x                    x   x                                    x      x
aqwe   x  x     x                             x                                     x
qre      x x      x   x                    x

mi duda es la sgte... como hago para que primero me pide si es nd, o bn, o fr, o df... bueno eso se como hacerlo... pero para hacer el array que depende de la decicion anterior y de la otra.. que seria si es 1,2,3,4, haga lo que marca las x...

de cuantas el arrayt seria de [3][8]? o alguna idea de como...




poroto_q

Cita de: DickGumshoe en 17 Julio 2012, 22:38 PM
Una cosa, ¿has dado memoria dinámica? Es que si no es así, puedes hacerlo sin la función que te he dicho, ya que especifica que debe tener como máximo 20 filas y columnas.

Lo correcto sería hacerlo con malloc, ya que no sabes cuántas filas y columnas va a tener, pero si no lo has dado siempre puedes declarar la matriz como M[20][20].

Saludos, y cualquier duda, pregunta  ;)

Gracias por tu ayuda, almento agradecer tan tarde pero estaba sin net.