was ist hierdran falsch ich komm nich weiter ?

... komplette Frage anzeigen

3 Antworten

Da sind etliche Fehler drin und ein paar Dinge, die man besser formulieren könnte.

"suche" würde ich "enthaelt" nennen, das ist verständlicher.

"gibPosition" scheint sich selbst aufzurufen, sonst würde bei "return gibPosition" ein Fehler gemeldet werden. - Es müsste "return gefunden" heißen.

Diese beiden Funktionen kann man auch verlassen, sobald man ein Element gefunden hat. gibPosition gibt dann allerdings den ersten anstelle des letzten Treffers zurück.

int temp wird nirgends gebraucht; vom Namen her gehört es in die Prozedur tausche.

die innere Schleife muss auf i umgeschrieben werden; ob sie von 0 bis unter j oder von j+1 bis unter zahlenFeld.length läuft, musst du noch überlegen.

Prozedur tausche (falls möglich, in Prozedur bubbleSort einbetten, aber weild dies wahrscheinlich nicht geht, außerhalb bubbleSort, am besten direkt davor oder danach:

private void tausche(int i, int j) {
int temp;
temp = zahlenFeld[i];
zahlenFeld[i] = zahlenFeld[j];
zahlenFeld[j] = temp;
}

-----

(an die Anderen:

Ja, ich weiß, dass man

  int temp;
temp = zahlenFeld[i];

durch die eine Zeile

  int temp = zahlenFeld[i];

ersetzen kann, aber das würde für einen absoluten Anfänger mehr verwirrend als hilfreich sein.)

Antwort bewerten Vielen Dank für Deine Bewertung

Also für mich sieht die Funktion so oder so nicht richtig aus. Für was deklarierst du denn die Variable i im for wenn du sie nie inkrementierst? Außerdem erkenn ich nicht was das mit bubblesort zu tuen hat.

Antwort bewerten Vielen Dank für Deine Bewertung

Wo is denn deine methode tausche??

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von NightCrow1337
17.05.2017, 22:16

das ist ja mein problem :3 wo muss ich die hinschreiben? 

0
Kommentar von ITGuru02
17.05.2017, 22:17

müsste eigentlich egal sein, ich würde sie vor bubblesort schreiben

1
Kommentar von ITGuru02
17.05.2017, 22:25

soll die methode wirklich nur die 2 werte tauschen und sonst nichts weiter?^^

1
Kommentar von ITGuru02
17.05.2017, 22:32

dann sollte es reichen wenn du schreibst: public void tausche(int a, int b) { int x = 0; x = zahlenFeld[a]; zahlenFeld[a] = zahlenFeld[b]; zahlenFeld[b] = x; }

2

Was möchtest Du wissen?