ich bin in meinem aktuellen Programm auf ein Problem gestoßen, vielleicht könnte ihr mir dabei einen Tipp geben.
Hier ein Ausschnitt aus dem Quellcode:
daten[0] = new double[] { 10.0, 20.0}
daten[1] = new double[] { 30.0, 20.0}
daten[2] = new double[] { 50.0, 40.0}
static double Berechnung( double[][] daten)
{
for ( int i = 0; i < daten.length; ++i)
Formel = ( [daten[0] 1.Zahl] - [daten[1] 1.Zahl] ) + [daten[0] 2.Zahl] - [daten[1] 2.Zahl]
}
Wie schaffe ich es das die korrekten Werte des Arrays in die Formel kommen, also so wie ich das in der Formel beschrieben habe? Die Verteilung ist momentan mein Problem.
Und das für alle Möglichkeiten allerdings nicht doppelt (also nicht “Daten0 zu Daten1” und dann noch “Daten1 zu Daten0”)!
Wenn ich das richtig sehe gibt es in diesem Fall nur 3 Möglichkeiten…
daten0 zu daten1
daten0 zu daten2
daten1 zu daten2
Ich würde mich sehr freuen wenn ihr mir einen Tipp geben würdet bzw. einen Vorschlag.
Du fängt mit einer Zählvariablen bei 0 an … durchläufst das Array ab der Zählvariablen + 1 durch bis die Zählvariablen gleich Größe des Array -1 ist. So bekommst du alle Kombinationen genau EINMAL
Okay die Antwort war etwas unverständlich
ich kann leider nicht mehr editieren:
Dein Vorgehen:
→ Zählvariable = 0
Du durchläufst nun ab Zählvariable + 1 das Array bis zum Ende. (So bekommst du alle Kombinationen 0 - 1, 0 -2 , etc. )
Dann zählst du die Zählvariable hoch und zählst wieder durch.
Das ganze machst du bis die Zählvariable Arraygröße - 1 angekommen ist, das wäre dann die letzte Zahl im Array.
Ich habe es jetzt mehrfach versucht komme aber irgendwie zu keinem Ergebnis. Besteht die Möglichkeit das du vielleicht einen Pseudocode oder so angeben kannst?
was hast du denn versucht, ein wenig von dir wäre nett,
allein eine Schleife mit i wie angefangen aber nicht wirklich (i wird nicht verwendet), wäre schon ein Schritt,
überlege was du mit einer Schleife machen könntest
nicht schon alles mit der einen Schleife lösen, aber ein wenig, i läuft durch, irgendwas mit daten**, soweit sei es nicht viel verraten, mit was könntest du das kombinieren?
und sei es auch nur testweise/ teilweise/ darf auch etwas zuviel, falsche Kombinationen enthalten, später noch weiter aufräumen,
irgendeine Idee für irgendwas was tatsächlich kompilierbarer Java-Code ist?
das ist doch ziemlich gut, in Java quasi genauso zu schreiben, inzwischen nicht mehr komplett unklar?
die innere Schleife muss wie gesagt bei q oder q+1 beginnen, genauer austesten,
das ist hier der Trick um nicht erst 0 mit 5 und später einmal 5 mit 0 zu kombinieren
aber das sollte eigentlich kaum mehr die Frage sein wenn man so einen Code hat…,
mit den Auslassungen sieht es eher nach Vorgabe und Rätsel zur Befüllung aus, na wie auch immer
Das ist doch die Manhattan-Metrik, oder? [edit]nein, dafür fehlen Betragszeichen[/edit]
Von deinem geposteten Code ist es doch nur noch ein winziger Schritt zu gültigem Java-Code. Das sieht selbst so schon fast so aus, als könnte das kompilieren. Viel mehr als zahlen.length und ein bisschen andere Syntax bei der Klasse und schon bist du fertig.