• Domingo 19 de Mayo de 2024, 13:38

Autor Tema:  redimensionar una matriz en C  (Leído 4134 veces)

Melissavir

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
redimensionar una matriz en C
« en: Lunes 5 de Octubre de 2009, 21:55 »
0
hola

Necesito la ayuda de Uds.Tengo que hacer una funcion que sea redimensionar una matriz multidimensional ya existente a nuevas dimensiones que me pasen por parámetros en lenguaje C.Y la verdad que he intentado pero en C me ha sido un poco dificil. Pudieran darme sus ideas?

Graciass

killrazor

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: redimensionar una matriz en C
« Respuesta #1 en: Martes 6 de Octubre de 2009, 16:17 »
0
No soy muy experto en C, aunque en C++ yo usaria STL.  En C, lo malo (y lo bueno) es que cada dimension puede ser diferente segun la fila (en C++ tambien). Es decir, una matriz de dos dimensiones de enteros puedes pensarla como un array de arrays. Asi el primer array de la segunda dimension puede tener 5 posiciones y la otra puede tener 1000 posiciones.
Tienes un numero maximo de dimensiones para el algoritmo? Cada fila de una matriz ha de tener las mismas posiciones? Es decir, esto, para tu funcion, es legal o ilegal?
Código: C++
  1.  
  2. int* a = new int*[2]; //array de dos punteros
  3. a[0] = new int[100];
  4. a[1] = new int[3];
  5.  

O solo es legal que todos los elementos de la misma dimension sean iguales?
Código: C++
  1. #define MAX 2
  2. int* a = new int*[MAX]; //array de dos punteros
  3. for(int i=0; i < MAX; i++){
  4.     a[i] = new int[b];
  5. }
  6.