Defino una matriz dinámica de float, la mando como parámetro en una función que le asigna memoria, carga datos y vuelve a resignar memoria con Realloc SOLO a una de sus FILAS, pero luego de esto imprime en pantalla cualquier cosa ¿Por que?
Si saco realloc y no agrego ningun dato extra funciona bien...
¿Como debería ser el código corregido?
Gracias
Código C++:
Ver original
#include <fstream> // Librería de entrada y salida de archivos #include <iostream> // Libreria para flujo de entrada y salida de datos en pantalla #include <cstdlib> // Utilizado para la función "Malloc" #include <string.h> // Para "strcat" de la función "Open_STL_File" using namespace std; float **FUNCION(float PARAMETRO1); int main() { float **PUNTERO_DE_FUNCION; // defino puntero bidimensional PUNTERO_DE_FUNCION = FUNCION(1000); cout << PUNTERO_DE_FUNCION[0][0] << endl; cout << PUNTERO_DE_FUNCION[0][1] << endl; cout << PUNTERO_DE_FUNCION[0][2] << endl; cout << endl; cout << PUNTERO_DE_FUNCION[1][0] << endl; cout << PUNTERO_DE_FUNCION[1][1] << endl; cout << PUNTERO_DE_FUNCION[1][2] << endl; cout << endl; cout << PUNTERO_DE_FUNCION[1][3] << endl; cout << PUNTERO_DE_FUNCION[1][4] << endl; cout << PUNTERO_DE_FUNCION[1][5] << endl; return(0); } float **FUNCION(float PARAMETRO1) { float **PUNTERO_INTERNO = NULL; int dimension = 2; // Asigno memoria a la matriz de punteros { } // Asigno memoria a cada una de las filas for(int i = 0 ; i < dimension ; i++) { { } } // Cargo cada una de las filas PUNTERO_INTERNO[0][0] = PARAMETRO1 /100; PUNTERO_INTERNO[0][1] = PARAMETRO1 /150; PUNTERO_INTERNO[0][2] = PARAMETRO1 /180; PUNTERO_INTERNO[1][0] = PARAMETRO1 /100; PUNTERO_INTERNO[1][1] = PARAMETRO1 /150; PUNTERO_INTERNO[1][2] = PARAMETRO1 /180; //Reasigno memoria a la fila de abajo { } // reacargo informacion a la fila de abajo PUNTERO_INTERNO[1][3] = PARAMETRO1 /10; PUNTERO_INTERNO[1][4] = PARAMETRO1 /15; PUNTERO_INTERNO[1][5] = PARAMETRO1 /18; return (PUNTERO_INTERNO); }