Problema massimo array

di il
5 risposte

Problema massimo array

Ho questo problema:
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 bisogna seguire l’idea di ordinare prima l’array).

Una function per calcolare il massimo potrebbe essere questa però non riesco a farne una per calcolare il secondo elemento più grande. Mi aiutate? Grazie

int massimo_array (int a[], int n)
{
int max, i;
max=a[0];
for (i=1; i<n; i++)
if (a > max)
max=a;
return max;
}

5 Risposte

  • Re: Problema massimo array

    Utilizza una seconda variabile max2 per tenere traccia del secondo
  • Re: Problema massimo array

    Ho pensato di fare un altro ciclo for in questo modo però non sono sicura che sia corretto. Premetto che sono ancora inesperta, nel caso non sia corretto come devo scrivere di preciso l'algoritmo?
    for (j=1; j<n; j++)
    if (a > max2 && max2 != max)
    max2 = a;
  • Re: Problema massimo array

    No semplicemente fai una seconda variabile max2 e poi nell'if ci metti
    
    if(a[i]>max)
    {
      max2=max;
      max=a[i];
    }
    
  • Re: Problema massimo array

    Ok grazie
  • Re: Problema massimo array

    Per comprendere a pieno poniti di eseguire una function che calcoli l' n-esimo elemento più grande di un array
    suggerimento devi giocare un po con gli indici
Devi accedere o registrarti per scrivere nel forum
5 risposte