96 lines
3.0 KiB
C#
96 lines
3.0 KiB
C#
namespace ripasso4;
|
|
|
|
class Program {
|
|
const int dimensione = 25;
|
|
static void Main(string[] args) {
|
|
Console.Clear();
|
|
//dichiarazione e inizializzazione variabili
|
|
int scelta;
|
|
|
|
//menu
|
|
do {
|
|
Console.WriteLine("Scegliere un'opzione:");
|
|
Console.WriteLine("1. Pari a sinistra, dispari a destra");
|
|
Console.WriteLine("2. Array paralleli");
|
|
Console.WriteLine("3. Inversione");
|
|
Console.WriteLine("0. Esci");
|
|
Console.Write("Scelta: ");
|
|
scelta = Convert.ToInt32(Console.ReadLine());
|
|
|
|
|
|
switch (scelta) {
|
|
case 0:
|
|
Console.Clear();
|
|
break;
|
|
case 1:
|
|
Console.Clear();
|
|
StampaArray(CreaVettoreOrdinato());
|
|
Pausa();
|
|
break;
|
|
case 2:
|
|
Console.Clear();
|
|
CreaVettoriParalleli();
|
|
Pausa();
|
|
break;
|
|
case 3:
|
|
Console.Clear();
|
|
//StampaArray(InvertiArray(CreaArrayCasuale()));
|
|
Pausa();
|
|
break;
|
|
default:
|
|
Console.WriteLine("Errore: scelta non valida");
|
|
Pausa();
|
|
break;
|
|
}
|
|
}
|
|
while (scelta != 0);
|
|
}
|
|
static void StampaArray(int[] p_insieme) {
|
|
for (int j = 0; j < p_insieme.Length; j++) {
|
|
Console.WriteLine("Elemento " + j + ": " + p_insieme[j]);
|
|
}
|
|
}
|
|
static int[] CreaVettoreOrdinato() {
|
|
int[] arrayCasuale = CreaArrayCasuale(), ritorno = new int[dimensione];
|
|
int indiceDecrescenteArray = dimensione - 1, indiceCrescenteArray = 0;
|
|
for (int i = 0; i < dimensione; i++) {
|
|
if (arrayCasuale[i] % 2 != 0) {
|
|
ritorno[indiceDecrescenteArray] = arrayCasuale[i];
|
|
indiceDecrescenteArray--;
|
|
}
|
|
else {
|
|
ritorno[indiceCrescenteArray] = arrayCasuale[i];
|
|
indiceCrescenteArray++;
|
|
}
|
|
}
|
|
return ritorno;
|
|
|
|
}
|
|
static int[] CreaArrayCasuale() {
|
|
//dichiarazione e inizializzazione variabili
|
|
Random caso = new Random();
|
|
int[] ritorno = new int[dimensione];
|
|
|
|
for (int i = 0; i < dimensione; i++) {
|
|
ritorno[i] = caso.Next(11);//per ogni posizione di ritorno assegno un valore a caso (metodo Random.Next)
|
|
}
|
|
return ritorno;
|
|
}
|
|
|
|
static void Pausa() {
|
|
Console.WriteLine("Premere un tasto per continuare. . .");
|
|
Console.ReadKey();
|
|
Console.Clear();
|
|
}
|
|
static int[] InvertiArray(int[] p_array) {
|
|
int[] ritorno = new int[dimensione];
|
|
int j = dimensione - 1;
|
|
|
|
for (int i = 0; i < dimensione; i++) {
|
|
ritorno[i] = p_array[j];//il primo elemento di ritorno è l'ultimo di p_array e così via, i e j variano in opposto
|
|
j--;
|
|
}
|
|
return ritorno;
|
|
}
|
|
|
|
} |