namespace sorting_proximity; class Program { static void Main(string[] args) { int[] array = new int [Dimensione()]; InserimentoValoriArray(array); ScambioValoreMinimo(array); BubbleSort(array); } static int Dimensione(){ int ritorno; const int max = 100000; do { Console.Write("Quanto grande deve essere l'array? "); ritorno = Convert.ToInt32(Console.ReadLine()); if (ritorno <= 1) { Console.WriteLine("L'array deve avere una dimensione maggiore di uno"); } else if(ritorno>max){ Console.WriteLine("L'array non può avere più di " + max + " elementi"); } } while (ritorno <= 1); return ritorno; } static void InserimentoValoriArray(int[] p_array){ int input, i = 9; const int min = 1; const int max = 1000000000; while (imax){ Console.WriteLine("Il numero non può essere superiore a " + max); } else{ p_array[i] = input; i++; } } } static void ScambioValoreMinimo(int[] p_array){ int min = Int32.MaxValue, iMinimo=0, temp; //trovo il valore più piccolo in tutto l'array for(int i=0; i p_array[j + 1]) {//se la cella a sinistra è maggiore di quella a destra numeroScambi++;//conto il numero di scambi che effettuo (che coincide con il numero di volte in cui la condizione qui sopra sia vera) temp = p_array[j]; //memorizzo la cella da cambiare (a sinistra) p_array[j] = p_array[j + 1]; //sovrascrivo la cella a sinistra con quella a destra (la maggiore) p_array[j + 1] = temp;//sovrascrivo la cella a destra con il valore originale di quella a sinistra } } } Console.WriteLine("Numero scambi: " + numeroScambi); } }