/*************************************************************

	FileName: Lab_20081107.java

	PROBLEMA:
		1) RIEMPIMENTO DI UN ARRAY DI NUMERI CASUALI
		2) STAMPA DELL'ARRAY CREATO
		3) CICLO DI ORDINAMENTO DELL'ARRAY
		4) STAMPA DELL'ARRAY ORDINATO

*************************************************************/

public class Lab_20081107
{	

	/*********************/
	/**   METODO MAIN   **/
	/*********************/
	
	public static void main(String[] pippo)
	{
		
		/**************************************************************/
		/**   INIZIALIZZAZIONE DELLE VARIABILI USATE NEL PROGRAMMA   **/
		/**************************************************************/
		
		//Creazione di un array di 10 interi
		int[] array = new int[10];
		
		//Variabile contatore
		int i = 0;
		
		/***********************************************************************/
		/**   INSERIMENTO NELL'ARRAY DI NUMERI CASUALI COMPRESI TRA 1 e 100   **/
		/***********************************************************************/
		
		//Ciclo riempimento array di interi casuali
		do
		{
			//Assegnazione del numero casuale nella variabile random
			double random = Math.random();
			
			//Inserimento numero casuale nell'i-esimo indice
			//dell'array
			array[i] = (int)( random * 100 ) + 1;
			
			//Incremento unario del contatore
			i++;

		}
		//Si esce dal ciclo quando la variabile contatore i
		//è esattamente uguale alla lunghezza dell'array
		while(i < array.length);
		
		/**********************************/
		/**   STAMPA DELL'ARRAY CREATO   **/
		/**********************************/
		
		//Stampa dell'array su una stessa riga
		//con separazione di ogni elemento con uno spazio
		for (int j=0; j<array.length; j++)
		{
			System.out.print(" "+array[j]);
		}
		System.out.println("\n\n");
		
		/*****************************************/
		/**   CICLO DI ORDINAMENTO DELL'ARRAY   **/
		/*****************************************/
		
		//Con questa for mi scorro l'array dal primo elemento fino al penultimo
		for (int k=0; k<array.length-1; k++)
		{
			
			//Con questo for mi scorro dal k-esimo elemento fino all'ultimo
			for (int j=k; j<array.length; j++)
			{
				
				//Confronto il k-esimo elementi dell'array con il j-esimo elemento
				if (array[k] > array[j])
				{
					//Scambio elementi contenuti nell'array
					
					//Copia del j-esimo elemento dell'array nella variabile intera var
					int var = array[j];
					//Copia del k-esimo elemento dell'array nell'elemento j-esimo
					array[j] = array[k];
					//Copia della variabile var nel k-esimo elemento dell'array
					array[k] = var;
				}
			}
		}
		
		/************************************/
		/**   STAMPA DELL'ARRAY ORDINATO   **/
		/************************************/
		
		//Stampa dell'array su una stessa riga
		//con separazione di ogni elemento con uno spazio
		for (int j=0; j<array.length; j++)
		{
			System.out.print(" "+array[j]);
		}
		System.out.println("\n\n");
	}
}





