array_2/Program.cs
La Programmatrice Verde a42bda57e1 Rispetta la traccia(?)
2024-12-04 10:26:42 +01:00

170 lines
6.6 KiB
C#

namespace array_2;
class Program
{
static void Main(string[] args)
{
Console.Clear();
//dichiarazione e inizializzazione variabili
int scelta=4, numero=0;
uint zeri=0; //supporto per verificare se sono state eseguite le voci 1 e 2
const uint dimensione=20;
const int costante1 = 2;
const int costante2 = 3;
const uint divisore=13;
int[] array1= new int[dimensione];
int[] array2= new int[dimensione];
int[] array3= new int[dimensione*2];
bool nonsvolto1=true, nonsvolto2=true;
for(int i=0; i<dimensione; i++){//riempio gli array di zero (anche se sono già pieni di zero ma non si sa mai)
array1[i] = 0;
array2[i] = 0;
}
//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.WriteLine("Debug nonsvolto1: " +nonsvolto1);
Console.WriteLine("Debug nonsvolto2: " +nonsvolto2);
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++;
}
}
Console.WriteLine("Debug zeri: " +zeri);
if(zeri==array1.Length){//se tutte le celle sono zero allora la voce 1 non è stata usata
nonsvolto1=true;
}
else{
nonsvolto1=false;
}
Console.WriteLine("Debug nonsvolto1: " +nonsvolto1);
zeri=0;//reset della variabile zeri
//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 2 non è stata usata
nonsvolto2=true;
}
else{
nonsvolto2=false;
}
Console.WriteLine("Debug nonsvolto2: " +nonsvolto2);
Console.WriteLine("Debug zeri: " +zeri);
zeri=0;//reset della variabile zeri
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);
}
}