C/Visual C - ¡Auxilio! Funciones prototipo para una matriz

 
Vista:

¡Auxilio! Funciones prototipo para una matriz

Publicado por Adriana (8 intervenciones) el 23/05/2001 06:49:35
Hola:

Espero que entiendan mi duda, lo que pasa es que tengo que realizar un programa con un menu que me realice:
1.- Llenar (No. de Elementos de una matriz cuadrada)
2.- Insertar (Los elementos de esa matriz)
3.- Eliminar
a)A partir de una posición o índice
b)A partir de x elemento
c)Toda la matriz
4.- Visualizar
a)Suma de todos los elementos de la matriz
b)Pares de la matriz
c)Imparez
d)Mayor
e)Menor; etc, etc.
5.- Etcetera.

Mi problema es como declarar funciones prototipo para esa matriz, este mismo programa lo hice con un solo vector.
Use puro datos int; pero ahora ya no puedo hacerlo con una matriz, porque en la funcion prototipo escribo algo así para el vector:
void llenar (int[ ], int);
Y si jalo, pero para el arroglo escribí algo así:
void llenar (int[ ][ ], int); y me dice algo como "SIZE OF THE TYPE UNKNOWN OR ZERO"

Erpero que me puedan ayudar, mil gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¡Auxilio! Funciones prototipo para una matriz

Publicado por 31f0 (3 intervenciones) el 23/05/2001 11:13:03
toy muerto de sueño, respuesta corta:
podrias usar una estructura (struct) para declarar la matriz, y se te hara mas facil
bye
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡Auxilio! Funciones prototipo para una matriz

Publicado por Germán B. (143 intervenciones) el 23/05/2001 16:27:32
Es necesario declarar como mínimo el tamaño de la segunda dimensión, por ejemplo int[ ] [10], porque si no, la función no sabe cuánto desplazamiento hay en la memoria por cada unidad de la primera dimensión. Si no hay inconveniente en que el tamaño quede establecido en forma fija para la función, haceclo así.
Otra posibilidad es que la función reciba un int * (puntero a int) y luego uses un subíndice, como de matriz unidimensional, cuyo valor calculás con una fórmula a partir del número de fila y columna. Esto te permitiría aceptar matrices de cualquier tamaño; pasale la cantidad de filas y columnas por parámetro a la función. Viendo a la matriz como unidimensional, el índice se calcularía así:
(nro_fila * tamanyo_fila) + nro_columna
Donde 'tamanyo_fila' es sizeof(int) * cantidad de columnas de la matriz.
G
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar