array_2/Program.cs

155 lines
5.8 KiB
C#

namespace array_2;
class Program
{
static void Main(string[] args)
{
Console.Clear();
//dichiarazione e inizializzazione variabili
int scelta=4, numero=0, divisore=13;
uint dimensione=20, zeri=0;
const int costante1 = 2;
const int costante2 = 3;
int[] array1= new int[dimensione];
int[] array2= new int[dimensione];
int[] array3= new int[dimensione*2];
bool nonsvolto1=true, nonsvolto2=true;
//menù
do{
Console.WriteLine("Scegliere un'opzione:");
Console.WriteLine("1. Insieme di multipli di 13");
Console.WriteLine("2. Insieme di 0 e multipli di 13");
Console.WriteLine("3. Insiemi raddoppiati e triplicati");
Console.WriteLine("0. Esci");
Console.Write("Scelta: ");
scelta=Convert.ToInt32(Console.ReadLine());
switch(scelta){
case 0://uscita
break;
case 1:
Console.Clear();
for(int i=0; i<dimensione; i++){
Console.Clear();
Console.WriteLine("Inserire la cifra numero " +(i+1)+":");
numero=Convert.ToInt32(Console.ReadLine());
if(numero%divisore==0){
array1[i]=numero;
}
}
Console.Clear();
Console.WriteLine("I numeri inseriti sono: ");
for(int i=0; i<dimensione; i++){
if(array1[i]!=0){//condizione per mascherare i valori non assegnati dal programma
Console.WriteLine(array1[i]);
}
}
Console.WriteLine("Premere invio per continuare");
Console.ReadLine();
Console.Clear();
break;
case 2:
Console.Clear();
for(int i=0; i<dimensione; i++){
Console.Clear();
Console.WriteLine("Inserire la cifra numero " +(i+1)+":");
numero=Convert.ToInt32(Console.ReadLine());
if(numero%divisore==0){
array2[i]=numero;
}
else{
array2[i]=0;
}
}
Console.Clear();
Console.WriteLine("I numeri inseriti sono: ");
for(int i=0; i<dimensione; i++){
Console.WriteLine(array2[i]);
}
Console.WriteLine("Premere invio per continuare");
Console.ReadLine();
Console.Clear();
break;
case 3:
Console.Clear();
//condizione per verificare se è stata usata la voce 1
for(int i=0; i<array1.Length; i++){
if(array1[i]==0){//verifico quante celle sono settate a zero
zeri++;
}
}
if(zeri==array1.Length){//se tutte le celle sono zero allora la voce 1 non è stata usata
nonsvolto1=true;
}
else{
nonsvolto1=false;
}
//condizione per verificare se è stata usata la voce 2
for(int i=0; i<array2.Length; i++){
if(array2[i]==0){//verifico quante celle sono settate a zero
zeri++;
}
}
if(zeri==array2.Length){//se tutte le celle sono zero allora la voce 1 non è stata usata
nonsvolto2=true;
}
else{
nonsvolto2=false;
}
switch((nonsvolto1, nonsvolto2)) {
case (true,true):
Console.WriteLine("Eseguire le altre voci prima di selezionare questa");
break;
case (false,true):
Console.WriteLine("Eseguire anche la voce 2 prima di selezionare questa");
break;
case (true,false):
Console.WriteLine("Eseguire anche la voce 1 prima di selezionare questa");
break;
case (false,false):
for(int i=0; i<array1.Length; i++){
array3[i]=array1[i]*costante1;
}
for(int i=0; i<array2.Length; i++){
array3[i+array1.Length]=array2[i]*costante2;
}
Console.Clear();
Console.WriteLine("I numeri inseriti sono: ");
for(int i=0; i<array3.Length; i++){
Console.WriteLine(array3[i]);
}
break;
}
Console.WriteLine("Premere invio per continuare");
Console.ReadLine();
Console.Clear();
break;
default:
Console.WriteLine("Scelta non valida.");
Console.WriteLine("Premere invio per continuare");
Console.ReadLine();
Console.Clear();
break;
}
}
while (scelta!=0);
}
}