155 lines
5.8 KiB
C#
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);
|
|
}
|
|
}
|