import java.util.Random;
import java.awt.Font;

/** se in una classe distinta da IntArrayUtil
    si usano i metodi (statici) di IntArrayUtil,
    tali metodi devono essere invocati con il
    loro "nome lungo", cioč NomeClasse.nomeMetodo;

    come esempio, in questa classe UsaIntArrayUtil
    si č copiato il main di prova di
    IntArrayUtil, effettuando la suddetta
    modifica dei nomi
 */

class UsaIntArrayUtil {

  static final int N = IntArrayUtil.N; // lunghezza dell'array da ordinare
  static final int K = IntArrayUtil.K; // numero di valori diversi possibili

  public static void main(String args[]) {

    // esempio di main, per provare i diversi metodi
/*
    int[] unArray = IntArrayUtil.leggi();
    IntArrayUtil.scriviSuOutputBox(unArray);
    IntArrayUtil.scriviSuConsolle(unArray);
    System.out.println(IntArrayUtil.arrayToString(unArray));
    System.out.println(IntArrayUtil.ricercaWh(10, unArray));
    System.out.println(IntArrayUtil.ricercaIndice(10, unArray));
    //System.out.println(IntArrayUtil.ricercaErrata(10, unArray));

    int[] mioArray = {17,21,-5, 11, 43,7, 19,-64, 41,2,-13,28,49,70,11, 67, 11};
    IntArrayUtil.scriviSuMessageDialog(IntArrayUtil.copiaOrdinata(mioArray));
    IntArrayUtil.scriviSuMessageDialog(mioArray);
    System.out.println(IntArrayUtil.čOrdinato(mioArray));
    IntArrayUtil.ordinaIns(mioArray);
    System.out.println(IntArrayUtil.čOrdinato(mioArray));
    IntArrayUtil.scriviSuMessageDialog(mioArray);

    System.out.println(IntArrayUtil.quantiUgualiA(11,mioArray));
*/
    int[] bigArray = new int[N];
    Random generatore = new Random();
    for(int i = 0; i < N; i++) {
      bigArray[i] = generatore.nextInt(K);
    }

    int[] bigArray2 = IntArrayUtil.copia(bigArray);

    System.out.println(IntArrayUtil.čOrdinato(bigArray));
    System.out.println("sto ordinando");
    IntArrayUtil.ordinaCont(bigArray);
    System.out.println(IntArrayUtil.čOrdinato(bigArray));
    //IntArrayUtil.scriviGrande(bigArray);

    System.out.println(IntArrayUtil.čOrdinato(bigArray2));
    System.out.println("sto ordinando");
    IntArrayUtil.ordinaIns(bigArray2);
    System.out.println(IntArrayUtil.čOrdinato(bigArray2));
    //IntArrayUtil.scriviGrande(bigArray2);
    System.exit(0);
  }
}