Hola buenas, necesito para un programa devolver en una funcion un vector a traves de un puntero, os pongo un ejemplo a ver si me podriais ayudar.
#include <iostream>
using namespace std;
int * divisor(int n)
{
int vector[10];
for(int i=0;i<n;i++)
vector[i]=i;
return vector;
}
int main(void)
{
int num,*ptr;
cout<<"Introduce un numero"<<endl;
cin>>num;
*ptr=divisor(num);
cout<<ptr;
return 0;
}
#include <iostream>
using namespace std;
int *divisor(int n)
{
int *vector = new int[n];
for(int i = 0; i < n; i++)
vector[i] = i;
return vector;
}
int main(void)
{
int num;
cout<<"Introduce un numero"<<endl;
cin>>num;
int *ptr = divisor(num);
for(unsigned int i = 0; i < num; i++)
cout << *(ptr + i) << " ";
return 0;
}
Mil gracias Leo ;)
new int[n] que es lo mismo que usar malloc? ahí cuanto estarias reservando? para un int?
new y delte es mas que todo de c++ y malloc para c. hay estarias reservando dependiendo de la variable n que la introduce la persona en el programa.
Leo, se te olvidó liberar la memoria al final del programa ;)
#include <iostream>
using namespace std;
int *divisor(int n)
{
int *vector = new int[n];
for(int i = 0; i < n; i++)
vector[i] = i;
return vector;
}
int main(void)
{
int num;
cout<<"Introduce un numero"<<endl;
cin>>num;
int *ptr = divisor(num);
for(unsigned int i = 0; i < num; i++)
cout << *(ptr + i) << " ";
delete(ptr);
return 0;
}
Saludos.
Cita de: Khronos14 en 12 Enero 2011, 08:27 AM
Leo, se te olvidó liberar la memoria al final del programa ;)
Cierto, una errata mía.