OPZIONE 5 CHE FUNZIONA DIO CANNNNN
This commit is contained in:
parent
e9d93e3eae
commit
e02fcb648e
68
Program.cs
68
Program.cs
@ -8,11 +8,9 @@ class Program {
|
|||||||
int scelta, lineaAutobus, lineaAutobus2, fermataAutobus, fermataAutobus2, conto, j = 0;
|
int scelta, lineaAutobus, lineaAutobus2, fermataAutobus, fermataAutobus2, conto, j = 0;
|
||||||
(string[], string[], bool[,]) configurazione = Configurazione();
|
(string[], string[], bool[,]) configurazione = Configurazione();
|
||||||
string[] fermateAutobus = configurazione.Item1, lineeAutobus = configurazione.Item2;
|
string[] fermateAutobus = configurazione.Item1, lineeAutobus = configurazione.Item2;
|
||||||
int[] lineePartenza = new int[fermateAutobus.Length], lineeDestinazione = new int[fermateAutobus.Length], coincidenze = new int[fermateAutobus.Length];
|
int[] lineePartenza = new int[fermateAutobus.Length], lineeDestinazione = new int[fermateAutobus.Length];
|
||||||
bool[,] corrispondenzaLineaFermata = configurazione.Item3;
|
bool[,] corrispondenzaLineaFermata = configurazione.Item3;
|
||||||
bool nullo = true;
|
bool nullo = true;
|
||||||
Array.Fill(lineePartenza, int.MaxValue);
|
|
||||||
Array.Fill(lineeDestinazione, int.MaxValue);
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
Console.WriteLine("Inserire un'opzione:");
|
Console.WriteLine("Inserire un'opzione:");
|
||||||
@ -20,7 +18,7 @@ class Program {
|
|||||||
Console.WriteLine("2. Quali linee passano per la fermata?");
|
Console.WriteLine("2. Quali linee passano per la fermata?");
|
||||||
Console.WriteLine("3. Quali e quante sono le fermate per la linea?");
|
Console.WriteLine("3. Quali e quante sono le fermate per la linea?");
|
||||||
Console.WriteLine("4. Due linee hanno fermate in comune?");
|
Console.WriteLine("4. Due linee hanno fermate in comune?");
|
||||||
Console.WriteLine("5. oh hell nah");
|
Console.WriteLine("5. Percorsi tra due fermate");
|
||||||
Console.WriteLine("0. Esci");
|
Console.WriteLine("0. Esci");
|
||||||
Console.Write("Scelta: ");
|
Console.Write("Scelta: ");
|
||||||
scelta = Convert.ToInt32(Console.ReadLine());
|
scelta = Convert.ToInt32(Console.ReadLine());
|
||||||
@ -82,7 +80,7 @@ class Program {
|
|||||||
lineaAutobus2 = SelezionaElementoArray(lineeAutobus);
|
lineaAutobus2 = SelezionaElementoArray(lineeAutobus);
|
||||||
Console.Clear();
|
Console.Clear();
|
||||||
if (lineaAutobus != lineaAutobus2) {
|
if (lineaAutobus != lineaAutobus2) {
|
||||||
|
Console.WriteLine($"Tra le linee {lineeAutobus[lineaAutobus]} e {lineeAutobus[lineaAutobus2]} fermate in comune sono:");
|
||||||
for (int i = 0; i < corrispondenzaLineaFermata.GetLength(0); i++) {
|
for (int i = 0; i < corrispondenzaLineaFermata.GetLength(0); i++) {
|
||||||
if (corrispondenzaLineaFermata[i, lineaAutobus] == corrispondenzaLineaFermata[i, lineaAutobus2]) {
|
if (corrispondenzaLineaFermata[i, lineaAutobus] == corrispondenzaLineaFermata[i, lineaAutobus2]) {
|
||||||
Console.WriteLine(fermateAutobus[i]);
|
Console.WriteLine(fermateAutobus[i]);
|
||||||
@ -90,10 +88,10 @@ class Program {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nullo) {
|
if (nullo) {//serve per scrivere se non c'è nessuna fermata in comune
|
||||||
Console.WriteLine("Nessuna");
|
Console.WriteLine("Nessuna");
|
||||||
}
|
}
|
||||||
Console.WriteLine($"Sono le fermate in comune tra le linee {lineeAutobus[lineaAutobus]} e {lineeAutobus[lineaAutobus2]}");
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Console.WriteLine("Selezionare due linee differenti.");
|
Console.WriteLine("Selezionare due linee differenti.");
|
||||||
@ -108,23 +106,30 @@ class Program {
|
|||||||
fermataAutobus2 = SelezionaElementoArray(fermateAutobus);
|
fermataAutobus2 = SelezionaElementoArray(fermateAutobus);
|
||||||
Console.Clear();
|
Console.Clear();
|
||||||
if (fermataAutobus != fermataAutobus2) {
|
if (fermataAutobus != fermataAutobus2) {
|
||||||
Console.WriteLine($"Tra le fermate {fermateAutobus[fermataAutobus]} e {fermateAutobus[fermataAutobus2]} passano le linee");
|
Console.Write($"Tra le fermate {fermateAutobus[fermataAutobus]} e {fermateAutobus[fermataAutobus2]} passano le linee: ");
|
||||||
for (int i = 0; i < corrispondenzaLineaFermata.GetLength(1); i++) {
|
for (int i = 0; i < corrispondenzaLineaFermata.GetLength(1); i++) {
|
||||||
if (corrispondenzaLineaFermata[fermataAutobus, i] && corrispondenzaLineaFermata[fermataAutobus2, i]) {
|
if (corrispondenzaLineaFermata[fermataAutobus, i] && corrispondenzaLineaFermata[fermataAutobus2, i]) {
|
||||||
Console.WriteLine(lineeAutobus[i]);
|
Console.Write($"{lineeAutobus[i]} ");
|
||||||
nullo = false;
|
nullo = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nullo) {
|
if (nullo) {//serve per scrivere se non c'è nessuna fermata in comune
|
||||||
Console.WriteLine("Nessuna");
|
Console.WriteLine("Nessuna");
|
||||||
Console.WriteLine("Quindi si può:");
|
Console.WriteLine("Quindi si può:");
|
||||||
|
|
||||||
|
|
||||||
|
Array.Fill(lineePartenza, int.MaxValue);
|
||||||
|
Array.Fill(lineeDestinazione, int.MaxValue);
|
||||||
|
|
||||||
|
//trovo tutte le linee che passano per la fermata di partenza
|
||||||
for (int i = 0; i < corrispondenzaLineaFermata.GetLength(0) && j < lineePartenza.Length; i++) {
|
for (int i = 0; i < corrispondenzaLineaFermata.GetLength(0) && j < lineePartenza.Length; i++) {
|
||||||
if (corrispondenzaLineaFermata[i, fermataAutobus]) {
|
if (corrispondenzaLineaFermata[i, fermataAutobus]) {
|
||||||
lineePartenza[j] = i;
|
lineePartenza[j] = i;
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//trovo tutte le linee che passano per la fermata di destinazione
|
||||||
for (int i = 0; i < corrispondenzaLineaFermata.GetLength(0) && j < corrispondenzaLineaFermata.GetLength(1); i++) {
|
for (int i = 0; i < corrispondenzaLineaFermata.GetLength(0) && j < corrispondenzaLineaFermata.GetLength(1); i++) {
|
||||||
if (corrispondenzaLineaFermata[fermataAutobus2, i]) {
|
if (corrispondenzaLineaFermata[fermataAutobus2, i]) {
|
||||||
lineeDestinazione[j] = i;
|
lineeDestinazione[j] = i;
|
||||||
@ -132,18 +137,21 @@ class Program {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//riordino il tutto per semplificare i cicli
|
||||||
lineePartenza = InsertionSort(lineePartenza);
|
lineePartenza = InsertionSort(lineePartenza);
|
||||||
lineeDestinazione = InsertionSort(lineeDestinazione);
|
lineeDestinazione = InsertionSort(lineeDestinazione);
|
||||||
|
|
||||||
|
|
||||||
j = 0;
|
j = 0;
|
||||||
MostraMatrice(corrispondenzaLineaFermata);
|
|
||||||
for (int k = 0; k < corrispondenzaLineaFermata.GetLength(1); k++) {
|
for (int k = 0; k < corrispondenzaLineaFermata.GetLength(1); k++) {
|
||||||
for (int i = 0; i < corrispondenzaLineaFermata.GetLength(0); i++) {
|
for (int i = 0; i < corrispondenzaLineaFermata.GetLength(0); i++) {
|
||||||
if (!(lineePartenza[i] == int.MaxValue || lineeDestinazione[k] == int.MaxValue)) {
|
if (!(lineePartenza[i] == int.MaxValue || lineeDestinazione[k] == int.MaxValue)) {
|
||||||
while (j < corrispondenzaLineaFermata.GetLength(0)) {
|
while (j < corrispondenzaLineaFermata.GetLength(0)) {
|
||||||
Console.WriteLine($"Debug: corrispondenzaLineaFermata[{j}, {lineePartenza[i]}]: {corrispondenzaLineaFermata[j, lineePartenza[i]]}");
|
//Verifico che la fermata j sia in comune tra la linea di partenza e di destinazione
|
||||||
Console.WriteLine($"Debug: corrispondenzaLineaFermata[{j}, {lineeDestinazione[k]}]: {corrispondenzaLineaFermata[j, lineeDestinazione[k]]}");
|
if (corrispondenzaLineaFermata[j, lineePartenza[i]] == corrispondenzaLineaFermata[j, lineeDestinazione[k]] && corrispondenzaLineaFermata[j, lineeDestinazione[k]]) {
|
||||||
if (corrispondenzaLineaFermata[j, lineePartenza[i]] == corrispondenzaLineaFermata[j, lineeDestinazione[k]]) {
|
if (lineePartenza[i] != lineeDestinazione[k]) {
|
||||||
coincidenze[k] = i;
|
Console.WriteLine($"Prendere la linea {lineeAutobus[lineePartenza[i]]}, cambiare alla fermata {fermateAutobus[j]} e proseguire sulla linea {lineeAutobus[lineeDestinazione[k]]}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
@ -151,15 +159,6 @@ class Program {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Console.WriteLine("Debug: lineePartenza:");
|
|
||||||
StampaArray(lineePartenza);
|
|
||||||
Console.WriteLine("Debug: lineeDestinazione:");
|
|
||||||
StampaArray(lineeDestinazione);
|
|
||||||
Console.WriteLine("Debug: coincidenze:");
|
|
||||||
StampaArray(coincidenze);
|
|
||||||
for (int i = 0; i < corrispondenzaLineaFermata.GetLength(1); i++) {
|
|
||||||
Console.WriteLine($"prendere la linea {lineeAutobus[lineePartenza[i]]}, cambiare alla fermata {fermateAutobus[coincidenze[i]]} e proseguire sulla linea {lineeAutobus[lineeDestinazione[i]]}");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -167,7 +166,6 @@ class Program {
|
|||||||
}
|
}
|
||||||
Pausa();
|
Pausa();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (scelta != 0);
|
while (scelta != 0);
|
||||||
@ -175,15 +173,6 @@ class Program {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void MostraMatrice(bool[,] p_matrice) {
|
|
||||||
for (int r = 0; r < p_matrice.GetLength(0); r++) {
|
|
||||||
for (int c = 0; c < p_matrice.GetLength(1); c++) {
|
|
||||||
Console.Write(p_matrice[r, c] + " ");
|
|
||||||
}
|
|
||||||
Console.WriteLine();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void Pausa() {
|
static void Pausa() {
|
||||||
Console.WriteLine("Premere un tasto per continuare. . .");
|
Console.WriteLine("Premere un tasto per continuare. . .");
|
||||||
Console.ReadKey();
|
Console.ReadKey();
|
||||||
@ -265,17 +254,6 @@ class Program {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void StampaArray(int[] p_array) {
|
|
||||||
for (int j = 0; j < p_array.Length; j++) {
|
|
||||||
Console.WriteLine("Elemento " + j + ": " + p_array[j]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void StampaArraySoloElementi(string[] p_array) {
|
|
||||||
for (int j = 0; j < p_array.Length; j++) {
|
|
||||||
Console.WriteLine(p_array[j]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
static int SelezionaElementoArray(string[] p_array) {
|
static int SelezionaElementoArray(string[] p_array) {
|
||||||
int ritorno;
|
int ritorno;
|
||||||
do {
|
do {
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -13,7 +13,7 @@ using System.Reflection;
|
|||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("matrix_4")]
|
[assembly: System.Reflection.AssemblyCompanyAttribute("matrix_4")]
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+020fa829cf0e4b4eebb7bd2e979136a2388ac622")]
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e9d93e3eaeea2cbc9ef9a959e35aefc15c231e14")]
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("matrix_4")]
|
[assembly: System.Reflection.AssemblyProductAttribute("matrix_4")]
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("matrix_4")]
|
[assembly: System.Reflection.AssemblyTitleAttribute("matrix_4")]
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
1c44fa622f05b47c7aafc5c43a5a0350ea57aee1982b35c834c80f97f6c4e7c2
|
7ed80ff514c932191312058572799b94e8b3dc9ef3bf3b038539ef00fb54bd12
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user