Ver Mensaje Individual
  #6 (permalink)  
Antiguo 19/02/2015, 06:55
manuelcastellano97
 
Fecha de Ingreso: febrero-2015
Mensajes: 1
Antigüedad: 9 años, 2 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);
	}
	
}