Está en la página 1de 2

5.

DESARROLLO

5.1 Para reservar memoria dinmica para matrices se siguen los siguientes
pasos: a. Se crea un puntero a punteros del tipo de datos: float **datos;
b. Se reserva memoria para el array de filas: datos = new float*[fil];
c. Se hace un bucle para reservar memoria para col columnas de cada fila: for
(int i=0;i<fil;i++) datos[i] = new float[col];
d. Creada la matriz, se puede trabajar con ella con los ndices y los corchetes [].
e. Finalmente, se debe hacer otro bucle para liberar la memoria de cada fila y la
asignada al vector de filas.

Ejecutar el siguiente programa:

#include <iostream>
#include <string.h> // para strlen
#include <stdlib.h> // para ato1 ()
#include <conio.h>
using namespace std;
void main (void)
{
int fil = 8; //numero de filas
int col = 5; //numero de columnas
float **datos;
datos=new float*[fil]; // vector filas
// reserva memoria para las columnas de cada fila
for (int i=0;i<fil;i++)
datos[i] = new float [col];
//ya puedes usar la matriz
for (int f=0; f<fil;f++)
for (int c=0; c<col;c++) datos [f] [c] = (float)rand()/RAND_MAX;
//imprime los valores
for (int f=0;f<fil;f++)
{
for (int c=0;c<col;c++)
{
cout << f << " , " << c << " : " <<datos [f][c] << " ";
}
cout <<endl;
}

// liberar memoria
for (int f=0;f<fil;f++)
delete datos [f]; //libera filas
delete [] datos; // libera vector
getch ();
}
5.2 Evaluar un polinomio de cualquier grado:
P(X)=a0+a1x+a2x2+a3x3++anxn
Como en un principio no se sabe de qu grado va a ser este polinomio, se debe
crear una variable puntero del tipo double:
double *coeficientes;
A continuacin se debe pedir el grado del polinomio y reservar memoria para el
array de coeficientes (utilizando el operador new). Luego, a travs de un bucle

También podría gustarte