Programacion
El tema a tratarse a continuación nos da una referencia como asignar memoria sin que esta se desperdicie y tenga una forma fácil de reasignar el tamaño de un vector.
OBJETIVOS:
*Implementar un programa sobre arreglos dinámicos de fácil entendimiento, considerando conocimientos adquiridos anteriormente.
.
* Conocer todo lo concerniente a arreglos dinámicos (cómo ycuándo utilizarlos).
MARCO TEORICO
Un arreglo dinámico es aquel, que asigna espacio de memoria mientras el programa esta en ejecución el cual nos ayuda a no derrochar espacios de memoria y usar elnecesario por el usuario.
Estudiamos que el nombre de un arreglo es un puntero en tiempo de compilación,
float x[50]; // arreglo estático tradicional
La declaración siguiente define unarreglo dinámico creado en tiempo de ejecución.
float *q new float[50]; // arreglo dinámico
Al igual que free libera la memoria asignada con malloc, disponemos en C++ del operador delete paraliberar la memoria asignada por new.
delete q; // libera la memoria apuntada por q
SINTAXIS
Para asignar un array dinámico debemos tener en cuenta que debemos usar el operador new y por ende eloperador delete ya que nos permiten crear memoria dinámicamente y ser eliminada.
Ejercicios:
#include<iostream>
using namespace std;
void main()
{
int n,a[10],*p;
for (inti=0;i<10;i++)
{
cout<<i;
}
cin>>n;
p=new int (a[n]);
for (int i=0;i<n;i++)
{
cout<<i<<endl;
}
delete p;
}
Ejercicio 2
#include <iostream>#include<conio.h>
using namespace std;
# define c 3
class estudiante
{
private :
char nombre[10];
int notas[c];
public:
void ingresar();
void imprimir();
};
voidestudiante::ingresar()
{
cout <<"Ingrese el nombre: ";
cin>>nombre;
for (int i=0;i<c;i++)
{
cout<<"Ingrese la nota: "<<(i+1)<<":";
cin>>notas[i];
}
}...
Regístrate para leer el documento completo.