public static void zapiszZaleznosciKostka(List <int[, ]> wykryteZaleznosciKostka, string name, Cube kostkaKoncowaProcentowa, Cube kostkaKoncowa) { string FILE_NAME = name; StreamWriter sw = new StreamWriter(FILE_NAME); string text = ""; for (int i = 0; i < wykryteZaleznosciKostka.Count; i++) { text = (wykryteZaleznosciKostka[i][0, 0] + 1) + " " + (wykryteZaleznosciKostka[i][0, 1] + 1) + " " + (wykryteZaleznosciKostka[i][0, 2] + 1) + " proc: " + kostkaKoncowaProcentowa[wykryteZaleznosciKostka[i][0, 0], wykryteZaleznosciKostka[i][0, 1], wykryteZaleznosciKostka[i][0, 2]] + " , ilosc wystapien pierwszych 2 dwojek lub/i trojek: " + kostkaKoncowa[wykryteZaleznosciKostka[i][0, 0], wykryteZaleznosciKostka[i][0, 1], wykryteZaleznosciKostka[i][0, 0]] + "\n"; Console.WriteLine(text); sw.WriteLine(text); } Console.WriteLine(wykryteZaleznosciKostka.Count); sw.WriteLine(wykryteZaleznosciKostka.Count); sw.Close(); var csv = new StringBuilder(); csv.AppendLine("nr, zaleznosci" + ";" + "procent"); for (int i = 0; i < wykryteZaleznosciKostka.Count; i++) { var first = (wykryteZaleznosciKostka[i][0, 0] + 1).ToString() + " & " + (wykryteZaleznosciKostka[i][0, 1] + 1).ToString() + " & " + (wykryteZaleznosciKostka[i][0, 2] + 1).ToString(); var second = kostkaKoncowaProcentowa[wykryteZaleznosciKostka[i][0, 0], wykryteZaleznosciKostka[i][0, 1], wykryteZaleznosciKostka[i][0, 2]].ToString(); //Suggestion made by KyleMit var newLine = string.Format("{0};{1}", first, second); csv.AppendLine(newLine); } //after your loop File.WriteAllText("arkuszKostka.csv", csv.ToString()); }
public static List <int[, ]> znajdzZaleznosciKostka(Cube kostka, int prog) { List <int[, ]> potencjalne = new List <int[, ]>(); for (int i = 0; i < 72; i++) { for (int j = 0; j < 72; j++) { for (int k = 0; k < 72; k++) { if (prog <= kostka[i, j, k] && i != j && i != k && j != k) { potencjalne.Add(new int[1, 3] { { i, j, k } }); } } } } int licznik = potencjalne.Count; for (int i = 0; i < licznik; i++) { int a = potencjalne[i][0, 0]; int b = potencjalne[i][0, 1]; int c = potencjalne[i][0, 2]; if (a < 16 && b < 16 && c < 16 || a >= 16 && b >= 16 && c >= 16) { } else { if (a < 16) { if (b < 16) { c = c - 16; //w macierzy dwójki są numerowane w przedziale 15-71, a w programie 0-55 if (Stale.ListaTrojek[a][0, 0] == Stale.ListaDwojek[c][0, 0] && Stale.ListaTrojek[a][0, 1] == Stale.ListaDwojek[c][0, 1] && Stale.ListaTrojek[a][1, 0] == Stale.ListaDwojek[c][1, 0] && Stale.ListaTrojek[a][1, 1] == Stale.ListaDwojek[c][1, 1] || Stale.ListaTrojek[a][1, 0] == Stale.ListaDwojek[c][0, 0] && Stale.ListaTrojek[a][1, 1] == Stale.ListaDwojek[c][0, 1] && Stale.ListaTrojek[a][2, 0] == Stale.ListaDwojek[c][1, 0] && Stale.ListaTrojek[a][2, 1] == Stale.ListaDwojek[c][1, 1] || Stale.ListaTrojek[b][0, 0] == Stale.ListaDwojek[c][0, 0] && Stale.ListaTrojek[b][0, 1] == Stale.ListaDwojek[c][0, 1] && Stale.ListaTrojek[b][1, 0] == Stale.ListaDwojek[c][1, 0] && Stale.ListaTrojek[b][1, 1] == Stale.ListaDwojek[c][1, 1] || Stale.ListaTrojek[b][1, 0] == Stale.ListaDwojek[c][0, 0] && Stale.ListaTrojek[b][1, 1] == Stale.ListaDwojek[c][0, 1] && Stale.ListaTrojek[b][2, 0] == Stale.ListaDwojek[c][1, 0] && Stale.ListaTrojek[b][2, 1] == Stale.ListaDwojek[c][1, 1]) { potencjalne.RemoveAt(i); licznik--; i--; } } else { if (c < 16) { b = b - 16; //w macierzy dwójki są numerowane w przedziale 15-71, a w programie 0-55 if (Stale.ListaTrojek[a][0, 0] == Stale.ListaDwojek[b][0, 0] && Stale.ListaTrojek[a][0, 1] == Stale.ListaDwojek[b][0, 1] && Stale.ListaTrojek[a][1, 0] == Stale.ListaDwojek[b][1, 0] && Stale.ListaTrojek[a][1, 1] == Stale.ListaDwojek[b][1, 1] || Stale.ListaTrojek[a][1, 0] == Stale.ListaDwojek[b][0, 0] && Stale.ListaTrojek[a][1, 1] == Stale.ListaDwojek[b][0, 1] && Stale.ListaTrojek[a][2, 0] == Stale.ListaDwojek[b][1, 0] && Stale.ListaTrojek[a][2, 1] == Stale.ListaDwojek[b][1, 1] || Stale.ListaTrojek[c][0, 0] == Stale.ListaDwojek[b][0, 0] && Stale.ListaTrojek[c][0, 1] == Stale.ListaDwojek[b][0, 1] && Stale.ListaTrojek[c][1, 0] == Stale.ListaDwojek[b][1, 0] && Stale.ListaTrojek[c][1, 1] == Stale.ListaDwojek[b][1, 1] || Stale.ListaTrojek[c][1, 0] == Stale.ListaDwojek[b][0, 0] && Stale.ListaTrojek[c][1, 1] == Stale.ListaDwojek[b][0, 1] && Stale.ListaTrojek[c][2, 0] == Stale.ListaDwojek[b][1, 0] && Stale.ListaTrojek[c][2, 1] == Stale.ListaDwojek[b][1, 1]) { potencjalne.RemoveAt(i); licznik--; i--; } } else { b = b - 16; //w macierzy dwójki są numerowane w przedziale 15-71, a w programie 0-55 c = c - 16; if (Stale.ListaTrojek[a][0, 0] == Stale.ListaDwojek[b][0, 0] && Stale.ListaTrojek[a][0, 1] == Stale.ListaDwojek[b][0, 1] && Stale.ListaTrojek[a][1, 0] == Stale.ListaDwojek[b][1, 0] && Stale.ListaTrojek[a][1, 1] == Stale.ListaDwojek[b][1, 1] || Stale.ListaTrojek[a][1, 0] == Stale.ListaDwojek[b][0, 0] && Stale.ListaTrojek[a][1, 1] == Stale.ListaDwojek[b][0, 1] && Stale.ListaTrojek[a][2, 0] == Stale.ListaDwojek[b][1, 0] && Stale.ListaTrojek[a][2, 1] == Stale.ListaDwojek[b][1, 1] || Stale.ListaTrojek[a][0, 0] == Stale.ListaDwojek[c][0, 0] && Stale.ListaTrojek[a][0, 1] == Stale.ListaDwojek[c][0, 1] && Stale.ListaTrojek[a][1, 0] == Stale.ListaDwojek[c][1, 0] && Stale.ListaTrojek[a][1, 1] == Stale.ListaDwojek[c][1, 1] || Stale.ListaTrojek[a][1, 0] == Stale.ListaDwojek[c][0, 0] && Stale.ListaTrojek[a][1, 1] == Stale.ListaDwojek[c][0, 1] && Stale.ListaTrojek[a][2, 0] == Stale.ListaDwojek[c][1, 0] && Stale.ListaTrojek[a][2, 1] == Stale.ListaDwojek[c][1, 1]) { potencjalne.RemoveAt(i); licznik--; i--; } } } } else { if (b < 16) { if (c < 16) { a = a - 16; if (Stale.ListaTrojek[b][0, 0] == Stale.ListaDwojek[a][0, 0] && Stale.ListaTrojek[b][0, 1] == Stale.ListaDwojek[a][0, 1] && Stale.ListaTrojek[b][1, 0] == Stale.ListaDwojek[a][1, 0] && Stale.ListaTrojek[b][1, 1] == Stale.ListaDwojek[a][1, 1] || Stale.ListaTrojek[b][1, 0] == Stale.ListaDwojek[a][0, 0] && Stale.ListaTrojek[b][1, 1] == Stale.ListaDwojek[a][0, 1] && Stale.ListaTrojek[b][2, 0] == Stale.ListaDwojek[a][1, 0] && Stale.ListaTrojek[b][2, 1] == Stale.ListaDwojek[a][1, 1] || Stale.ListaTrojek[c][0, 0] == Stale.ListaDwojek[a][0, 0] && Stale.ListaTrojek[c][0, 1] == Stale.ListaDwojek[a][0, 1] && Stale.ListaTrojek[c][1, 0] == Stale.ListaDwojek[a][1, 0] && Stale.ListaTrojek[c][1, 1] == Stale.ListaDwojek[a][1, 1] || Stale.ListaTrojek[c][1, 0] == Stale.ListaDwojek[a][0, 0] && Stale.ListaTrojek[c][1, 1] == Stale.ListaDwojek[a][0, 1] && Stale.ListaTrojek[c][2, 0] == Stale.ListaDwojek[a][1, 0] && Stale.ListaTrojek[c][2, 1] == Stale.ListaDwojek[a][1, 1]) { potencjalne.RemoveAt(i); licznik--; i--; } } else { a = a - 16; c = c - 16; if (Stale.ListaTrojek[b][0, 0] == Stale.ListaDwojek[a][0, 0] && Stale.ListaTrojek[b][0, 1] == Stale.ListaDwojek[a][0, 1] && Stale.ListaTrojek[b][1, 0] == Stale.ListaDwojek[a][1, 0] && Stale.ListaTrojek[b][1, 1] == Stale.ListaDwojek[a][1, 1] || Stale.ListaTrojek[b][1, 0] == Stale.ListaDwojek[a][0, 0] && Stale.ListaTrojek[b][1, 1] == Stale.ListaDwojek[a][0, 1] && Stale.ListaTrojek[b][2, 0] == Stale.ListaDwojek[a][1, 0] && Stale.ListaTrojek[b][2, 1] == Stale.ListaDwojek[a][1, 1] || Stale.ListaTrojek[b][0, 0] == Stale.ListaDwojek[c][0, 0] && Stale.ListaTrojek[b][0, 1] == Stale.ListaDwojek[c][0, 1] && Stale.ListaTrojek[b][1, 0] == Stale.ListaDwojek[c][1, 0] && Stale.ListaTrojek[b][1, 1] == Stale.ListaDwojek[c][1, 1] || Stale.ListaTrojek[b][1, 0] == Stale.ListaDwojek[c][0, 0] && Stale.ListaTrojek[b][1, 1] == Stale.ListaDwojek[c][0, 1] && Stale.ListaTrojek[b][2, 0] == Stale.ListaDwojek[c][1, 0] && Stale.ListaTrojek[b][2, 1] == Stale.ListaDwojek[c][1, 1]) { potencjalne.RemoveAt(i); licznik--; i--; } } } else { a = a - 16; b = b - 16; if (Stale.ListaTrojek[c][0, 0] == Stale.ListaDwojek[a][0, 0] && Stale.ListaTrojek[c][0, 1] == Stale.ListaDwojek[a][0, 1] && Stale.ListaTrojek[c][1, 0] == Stale.ListaDwojek[a][1, 0] && Stale.ListaTrojek[c][1, 1] == Stale.ListaDwojek[a][1, 1] || Stale.ListaTrojek[c][1, 0] == Stale.ListaDwojek[a][0, 0] && Stale.ListaTrojek[c][1, 1] == Stale.ListaDwojek[a][0, 1] && Stale.ListaTrojek[c][2, 0] == Stale.ListaDwojek[a][1, 0] && Stale.ListaTrojek[c][2, 1] == Stale.ListaDwojek[a][1, 1] || Stale.ListaTrojek[c][0, 0] == Stale.ListaDwojek[b][0, 0] && Stale.ListaTrojek[c][0, 1] == Stale.ListaDwojek[b][0, 1] && Stale.ListaTrojek[c][1, 0] == Stale.ListaDwojek[b][1, 0] && Stale.ListaTrojek[c][1, 1] == Stale.ListaDwojek[b][1, 1] || Stale.ListaTrojek[c][1, 0] == Stale.ListaDwojek[b][0, 0] && Stale.ListaTrojek[c][1, 1] == Stale.ListaDwojek[b][0, 1] && Stale.ListaTrojek[c][2, 0] == Stale.ListaDwojek[b][1, 0] && Stale.ListaTrojek[c][2, 1] == Stale.ListaDwojek[b][1, 1]) { potencjalne.RemoveAt(i); licznik--; i--; } } } } } return(potencjalne); }