Ejemplo de punteros a vectores
#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
void tamaño(int *n)
{
cout<<"Numero de elementos: ";cin>>*n;
}
void llenarVector(int *p,int n)//*p sería es la posición de memoria del vector y corresponde al primer elemento
{
for(int i=0;i<n;i++)
{
cout<<"V["<<i+1<<"] = ";
cin>>*(p+i);//Para desplazarnos a los siguientes elementos del vector basta hacer *(p+i) donde i aumenta de 0 a n
}
}
void mostrarVector(int *p,int n)
{
for(int i=0;i<n;i++)
cout<<endl<<"V["<<i+1<<"] = "<<*(p+i);
}
int mayorValor(int *p,int n)
{
int max=-99999;//Un valor muy bajo
for(int i=0;i<n;i++)
{
if(*(p+i)>max)
max=*(p+i);
}
return max;
}
int menorValor(int *p,int n)
{
int min=99999;//un valor muy alto
for(int i=0;i<n;i++)
{
if(*(p+i)<min)
min=*(p+i);
}
return min;
}
double promedio(int *p,int n)
{
double suma=0;
for(int i=0;i<n;i++)
{
suma+=*(p+i);
}
return suma/n;
}
void ordenar(int *p,int n)
{
int aux;
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(*(p+i)>*(p+j))
{
aux=*(p+i);
*(p+i)=*(p+j);
*(p+j)=aux;
}
}
}
}
void main()
{
int n;
tamaño(&n); //Le enviamos la posición de memoria de la variable n
int *V = new int [n];
cout<<endl;
llenarVector(V,n);
cout<<endl<<"Mayor Valor es "<<mayorValor(V,n)<<endl;
cout<<"Menor Valor es "<<menorValor(V,n)<<endl;
cout<<"Promedio es "<<promedio(V,n)<<endl;
cout<<"Vector ordenado:"<<endl;
ordenar(V,n);
mostrarVector(V,n);
_getch();
}
No hay comentarios:
Publicar un comentario