Sviluppare una function C che, dati come parametri di input un array di int e il suo size, determina e restituisce come parametro di output il secondo più grande elemento dell' array ( N.B. : Non bisogno seguire l' idea di ordinare prima l' array ).
int sec_max(int array [], int n)
{
int max_array,ind_max,i;
for(i = ( n – 1); i > 0; i--)
{
ricerca_max(&array[0], i + , &max_array,&ind_max);
scambiare(&array[i],&array[ind_max]);
if( i < n – 2 – 1)
{
break;
}
}
return array[i];
}
void ricerca_max(int array[],int n, int *max,int *ind)
{
int i;
*max=array[0];
*ind = 0;
for(i = 1; i<n; i++)
{
if(*max<array[i])
{
*max=array[i];
*ind=i;
}
}
}
void scambiare(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
e' fatto bene?