19/02/2015, 06:55
|
| | Fecha de Ingreso: febrero-2015
Mensajes: 1
Antigüedad: 9 años, 10 meses Puntos: 0 | |
Respuesta: Mínimo de un vector (recursividad) Respuesta usando stl vector¡¡¡
Código:
//demostracion de la plantilla de clase vector
#include<iostream>
using std::cout;
using std::endl;
#include<vector>
using std::vector;
#include<iterator>
void minimo( vector<int> & enteros2,size_t sub);
//prototipo para la plantilla de funcion imprimirVector
template <typename T> void imprimirVector(const vector<T> & enteros2);
int main()
{
int const MAX=6;//depende del tamaño
int a[MAX]={2,1,3,5,-1,1};//{19,3,-40987,-334,5,40,20,20,-9,152};
//{44,83,-14,1,101,-92,23,2,7,100};
std::vector<int>enteros(a,a+MAX);
minimo(enteros,0);
}
template <typename T> void imprimirVector(const vector<T> & enteros2)
{
typename vector<T>::const_iterator iteratorConst; //const_iterator
//muestra los elementos del vector usando const_iterator
for(iteratorConst =enteros2.begin();iteratorConst!=enteros2.end();++iteratorConst)
cout<<*iteratorConst<<' ';
}
void minimo( vector<int> & enteros2,size_t sub)
{
int low;
if(sub<=enteros2.size())
{
if(enteros2[sub]<=enteros2[0])
{
low=enteros2[sub];
enteros2[0]=low;
}
minimo(enteros2,sub+1);
if(sub==enteros2.size())
cout<<"menor: "<<enteros2[0]<<endl;
//imprimirVector(enteros2);
}
}
|