Ich brauche einen Algorytmus um alle möglichkeiten von denn zahlen 48-57 und 65-90 und 97-122 zu erzeugen C#?

... komplette Frage anzeigen

3 Antworten

Ohne Sonderzeichen also ...

Liste dieser Zahlen:

using System.Linq;
// ...
int[] zahlen = Enumerable.Range(48,57-48+1).Concat(Enumerable.Range(65,90-65+1)).Concat(Enumerable.Range(97,122-97+1)).ToArray();

Erzeugen einer (verzögert ausgewerteten) Auflistung aller Kombinationen von 10 Elementen dieser Liste:

      var z1 = zahlen.Select(x => new int[] { x });  // Erzeugen von Arrays, die später verlängert werden

var zCumul = z1; // Ausgangswert des IEnumerable von Arrays

for (int i = 1; i < 10; i++) { // Start ab 1, da z1 ja schon einmal zu zCumul hinzugefügt wurde
zCumul = zCumul.Join(z1, x => false, x => false, (a,b)=>a.Concat(b).ToArray());
};

Schreiben dieser Liste in eine Datei:

      using (var sw = new StreamWriter("Ausgabe.txt")) {
foreach (var element in zCumul) {
sw.WriteLine(String.Concat(element.Select(x => (Char)x)));
};
};

(Auf die Schnelle habe ich nichts eleganteres gefunden, um ein Outer Join (kartesisches Produkt) hinzukriegen - vielleicht weiß jemand von euch ja was)

Ich würde empfehlen, ein RAID-System mit mindestens 12 Exabyte zu kaufen - das ist schneller als angemieteter Speicher in der Cloud. Und stell sicher, dass der Hersteller garantiert, dass die Platte 300 Jahre hält. (wenn die Platte langsamer ist als der RAM, um einen entsprechenden Faktor länger) 

(die Abschätzungen sind übrigens realistisch)

Antwort bewerten Vielen Dank für Deine Bewertung

Habs zwar jetzt nicht richtig verstanden, aber was ich verstanden habe:

Du willst aus angegebenen 62 Zeichen alle Möglichkeiten zu Generieren und in eine Datei zu speichern.

using System;

using System.IO;

namespace ConsoleApplication2 {
class Program {
static void Main(string[] args) {
string zeichen = "abcdefghijklmnopqrstuvxyz0123456789üäö+!#,;.-§$%&/()=?{[]}*~";

foreach (char c01 in zeichen)
foreach (char c02 in zeichen)
foreach (char c03 in zeichen)
foreach (char c04 in zeichen)
foreach (char c05 in zeichen)
foreach (char c06 in zeichen)
foreach (char c07 in zeichen)
foreach (char c08 in zeichen)
foreach (char c09 in zeichen)
foreach (char c10 in zeichen)
File.AppendAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\\\generated.txt", c01 + "" + c02 + "" + c03 + "" + c04 + "" + c05 + "" + c06 + "" + c07 + "" + c08 + "" + c09 + "" + c10 + Environment.NewLine);
}
}
}

(Kann leider nicht gut C# programmieren, deshalb könnte das alles vielleicht viel einfacher gehen)

Antwort bewerten Vielen Dank für Deine Bewertung

Ich habs jetzt gelöst ohne txt datei


Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?