Punteros C++. Calcular el mayor de un vector

Función C++ que calcula el mayor valor de un vector de números de tipo float.

La función recibe un puntero que contiene la dirección de inicio del vector y devuelve el mayor valor que contiene el vector.

Para calcular el mayor de un vector primero se toma el primer elemento del vector como el mayor y a continuación se comparan todos los demás.

La función C++ que calcula y devuelve el mayor valor contenido en un vector de númeos de tipo float es es la siguiente:

float mayor(float *v) // v contiene la direccion de inicio del vector
{
 float mayor;
 int i;
 mayor=*v; //tomamos el primer elemento como mayor
 v++;        //avanzamos hasta el segundo elemento del vector
 for(i=1;i<ELEM;i++)
 {
     if(*v > mayor) //si el elemento actual es mayor que el mayor actual
     {
         mayor=*v; //se toma como mayor
     }
     v++; //siguiente elemento del vector
 }

 return mayor; //se devuelve el mayor
}

Vamos a escribir un programa que lea los valores del vector por teclado y llame a la función para que calcule el mayor valor introducido:

#include <iostream>
using namespace std;
const int ELEM = 8;
float mayor(float *); //funcion que recibe un puntero a float y devuelve un float
int main()
{
   float a[ELEM];  //se crea el vector
   int i;
   for(i=0;i<ELEM;i++)  //se leen los valores por teclado
   {
    cout << "Introduce elemento " << i+1 << " del array: ";
    cin >> a[i];
   }
   cout << "Mayor: " << mayor(a) << endl; //en la llamada a la función se le envía el vector
   system("pause");
}

float mayor(float *v) // v contiene la direccion de inicio del vector
{
 float mayor;
 int i;
 mayor=*v; //tomamos el primer elemento como mayor
 v++;        //avanzamos hasta el segundo elemento del vector
 for(i=1;i<ELEM;i++)
 {
     if(*v > mayor) //si el elemento actual es mayor que el mayor actual
     {
         mayor=*v; //se toma como mayor
     }
     v++; //siguiente elemento del vector
 }

 return mayor; //se devuelve el mayor
}

 

No hay comentarios:

Publicar un comentario