Hallo Leute! Habe ein Problem mit dem Übungsprogramm im Anhang. Zuerst wird ein Array mit zufälligen Werten befüllt. Danach wird der Benutzer gefragt, ob er einen Wert suchen will. Nach der Eingabe wird die Funktion TreeSearch aufgerufen, diese diente zuerst zum durchsuchen eines Baumes, ist jetzt aber für die Binäre Suche im Array zuständig. Ich übergebe der Funktion ein Array mit, das einwandfrei befüllt ist. Sobald das Programm in der Funktion ist, wurde jedoch nur der ERSTE Wert übergeben. Also sieht es so aus, als würde nur eine Variable übergeben werden. Ich kann mir das nicht erklären. danke und freundliche Grüße
Einer Funktion wird nie ein Feld übergeben, sondern immer nur ein Zeiger auf das unterste Element. Dahinter sind dann ggf. die restlichen Elemente zu finden. -> Grundlagen C (siehe C-Buch deines Vertrauens)
Ah natürlich danke! Und der Fehler war nur im Vertauschen einer Variable, ich bin aus der binären Suchfunktion nie mehr rausgekommen. Wenn ich im Watchfenster z.B. Werte[5] anschaue gehts, wenn ich nur aufs + vom Array klicke zeigt er nur den Pointer aufs erste Element. danke!!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.