[C con Clase] problema con matrices y punteros en C

Rafael Enríquez Herrador bknmoveit en yahoo.es
Mie Abr 25 17:48:11 CEST 2007


Hola a todos/as

Mi problema es el siguiente:
Estoy escribiendo un programa en C, en el que opero tanto con matrices
bidimensionales como con vectores (algunas de ellas de enteros y otras
de numeros reales). Para operarlas entre ellas utilizo las mismas
funciones, por lo que no puedo definir como argumento de las funciones
una matriz bidimensional o un vector, ya que utilizo ambos tipos en la
misma función, así que decidí usar punteros para solucionar el problema,
ya que he leido que la declaración de una matriz es un puntero al primer
elemento de ésta. Lo que ocurre es que no se como declarar estos
punteros para que apunten indistintamente tanto a un vector como a una
matriz bidimensional y además pasarlos como argumentos de dichas
funciones.

No sé si he explicado mi problema con suficiente claridad, si alguien lo
ha entendido me gustaría que me ayudara con él y si alguien cree que
sabe como solucionarlo pero no le ha quedado muy claro cuál es el
problema, sólo tiene que escribirme y yo estaré encantado de adjuntarle
el código fuente que he escrito hasta ahora para que pueda corregirme
los fallos y explicarme la solución.

Muchas gracias por todo

PD: Por si a alguien le fuera de utilidad dejo los fallos de compilación
a continuación, aunque no creo que sirvan de mucho sin el código fuente.

funciones.c: En la función ‘MultiplicarMatrices’:
funciones.c:25: error: operadores inválidos para el binario *
principal.c: En la función ‘main’:
principal.c:48: error: el valor indicado por el subíndice no es ni
matriz ni puntero
principal.c:49: error: el valor indicado por el subíndice no es ni
matriz ni puntero
principal.c:51: error: tipo incompatible para el argumento 1 de
‘NPotenciaMatriz’
principal.c:51: error: tipo incompatible para el argumento 3 de
‘NPotenciaMatriz’
principal.c:55: error: el valor indicado por el subíndice no es ni
matriz ni puntero
principal.c:56: aviso: asignación desde un tipo de puntero incompatible
principal.c:57: aviso: asignación desde un tipo de puntero incompatible
principal.c:60: error: tipo incompatible para el argumento 1 de
‘MultiplicarMatrices’
principal.c:60: error: tipo incompatible para el argumento 2 de
‘MultiplicarMatrices’
principal.c:60: error: tipo incompatible para el argumento 3 de
‘MultiplicarMatrices’
principal.c:66: error: el valor indicado por el subíndice no es ni
matriz ni puntero
principal.c:76: error: el valor indicado por el subíndice no es ni
matriz ni puntero
principal.c:86: aviso: asignación desde un tipo de puntero incompatible






Más información sobre la lista de distribución Cconclase