ripasso4/Program.cs
La Programmatrice Verde 5e25bae12b Prototipo opzione 2
2025-01-17 10:04:13 +01:00

133 lines
4.4 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;
}
static void CreaVettoriParalleli() {
string nome, cognome;
string[] arrayNomi = new string [dimensione], arrayCognomi = new string [dimensione];
char scelta;
for (int i = 0; i< dimensione; i++){
do {
Console.Write("Inserire il nome dell'alunno n." + (i + 1) + ": ");
nome = Console.ReadLine();
Console.WriteLine("Nome inserito: " + nome);
do{
Console.Write("È corretto? [S/N]");
scelta = Convert.ToChar(Console.ReadLine());
switch(scelta){
case 'S':
arrayNomi[i] = nome;
break;
case 'N':
break;
default:
Console.WriteLine("Opzione non valida, inserire [S] o [N]");
break;
}
}
while (scelta != 'S' && scelta != 'N');
}
while (true);
Console.Write("Inserire il cognome dell'alunno n." + (i +1) + ": ");
cognome = Console.ReadLine();
Console.WriteLine("Cognome inserito: " + cognome);
arrayCognomi[i]= cognome;
}
}
}