# Problema 3 massimi in un array di 10 num

**URL:** <https://forum.olinfo.it/t/problema-3-massimi-in-un-array-di-10-num/6487>\
**Category:** Algoritmi\
**Created:** [3 Gennaio 2021, 3:31pm UTC](https://forum.olinfo.it/t/problema-3-massimi-in-un-array-di-10-num/6487 "2021-01-03T15:31:05Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![oneye](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/o/7ba0ec/32.png) [@oneye](https://forum.olinfo.it/u/oneye)\
**Post date:** [3 Gennaio 2021, 3:31pm UTC](https://forum.olinfo.it/t/problema-3-massimi-in-un-array-di-10-num/6487/1 "2021-01-03T15:31:05Z")

</div>

salve , dati 10 numeri randomici , calcolare i 3 massimi , ho provato a risolverlo, e mi è venuto il seguente codice in java :

```java
import java.util.*;
import java.lang.Math;

public class JavaApplication {
    private static Random random = new Random();

    public static void main(String[] args) {
        int[] x = new int[10];
        int max1;
        int max2;
        int max3;
        int i;
        
        max1 = 0;
        max2 = 0;
        max3 = 0;
        i = 0;
        do {
            x[i] = random.nextInt(100);
            if (x[i] > max1) {
                max3 = max2;
                max2 = max1;
                max1 = x[i];
            } else {
                if (x[i] > max2) {
                    max3 = max2;
                    max2 = x[i];
                }
                if (x[i] > max3) {
                    max3 = x[i];
                }
            }
            i = i + 1;
        } while (i < 10);
    }
}

```

in basso trovate in allegato il diagramma a blocchi dell’ algoritmo , pultroppo non funziona sempre , alcune volte il secondo valore e il terzo massimo si eguagliano anche se nell array sono diversi … aiutatemi perfavore

 ![maggiorefra3](https://forum.olinfo.it/uploads/default/original/1X/c26c078434bb667fc99eb3edffc9d0afd93afd13.png)

---

<div class="post-metadata">

**Author:** ![zJack1342](https://forum.olinfo.it/user_avatar/forum.olinfo.it/zjack1342/32/711_2.png) [@zJack1342](https://forum.olinfo.it/u/zJack1342)\
**Post date:** [3 Gennaio 2021, 4:38pm UTC](https://forum.olinfo.it/t/problema-3-massimi-in-un-array-di-10-num/6487/2 "2021-01-03T16:38:12Z")

</div>

Ordina il vettore in modo crescente e i 3 massimi si trovano nelle ultime 3 posizioni 🌚

> [@oneye](#):
>
> ```auto
> if (x[i] > max2) {
> max3 = max2;
> max2 = x[i];
> }
> if (x[i] > max3) {
> max3 = x[i];
> }
> 
> ```

Credo dovrebbe essere:

```java
if (x[i] > max2) {
                max3 = max2;
                max2 = x[i];
            }else if (x[i] > max3) {
                max3 = x[i];
            }

```
