Un dato. Al trabajar con matrices, sin conocer sus dimensiones, puedes trabajar con un vector (unidimensional).Sólo debes formular unas ecuaciones para llevar coordenadas de dos dimensiones a la posición del vector. Y vice-versa.Así, puedes declarar un vector de, por ejemplo, tamaño 100, y aceptar dimensiones como 2x50, 10x10, y demás; mientras que si creas una matríz de 10x10, ocupando el mismo espacio que tu vector de 100, limitarías las dimensiones a un máximo de 10.