BubbleSort mit Funktionen
-
Hallo Community,
versuche mich gerade an dem BubbleSort
habe ihn zuvor ohne Funktionen geschrieben und da Funktioniert er. Jetzt mit Funktionen will es nicht FunktionierenHier die Fehlermeldungen :
1> Bubble Sort mit Funktionen.cpp
1>c:\awe\sprachelemente\bubble sort mit funktionen\bubble sort mit funktionen\bubble sort mit funktionen\bubble sort mit funktionen.cpp(17): warning C4244: 'Argument': Konvertierung von 'time_t' in 'unsigned int', möglicher Datenverlust
1>c:\awe\sprachelemente\bubble sort mit funktionen\bubble sort mit funktionen\bubble sort mit funktionen\bubble sort mit funktionen.cpp(63): warning C4244: 'Initialisierung': Konvertierung von 'double' in 'int', möglicher Datenverlust
1>c:\awe\sprachelemente\bubble sort mit funktionen\bubble sort mit funktionen\bubble sort mit funktionen\bubble sort mit funktionen.cpp(52): error C4716: 'Zufallszahlen': Muss einen Wert zurückgeben
1>c:\awe\sprachelemente\bubble sort mit funktionen\bubble sort mit funktionen\bubble sort mit funktionen\bubble sort mit funktionen.cpp(70): error C4716: 'BubbleSort': Muss einen Wert zurückgebenHier der Code :
#include <iostream> #include <iomanip> #include <cstdlib> double BubbleSort(double Zahlen[], int size); double Zufallszahlen(double Zahlen[], int size); using namespace std; int main () { const int size=10; // Definition der größe des Arrays double Zahlen[size]; srand(time(NULL)); // Zufallsgenerator Zufallszahlen(Zahlen, size); for ( int i = 0 ; i < size ;++i ) { cout<<Zahlen[i] <<endl; } cout<<endl<<endl; BubbleSort(Zahlen, size); for ( int i = 0 ; i < size ; ++i ) { cout<<Zahlen[i]<<endl; } cin.get();cin.get(); return 0; } // Zufallszahlen Funktion double Zufallszahlen(double Zahlen[], int size) { for ( int i = 0 ; i < size ; ++i) { Zahlen[i] = rand(); } } // Bubblesort Funktion double BubbleSort(double Zahlen[], int size) { for (int j = 0 ; j < size -1 ; ++j ) { for ( int i = 0 ; i < size - 1 ; ++ i) { if( Zahlen[i] > Zahlen[i+1]) { int Hilfsfeld = Zahlen[i]; Zahlen[i] = Zahlen[i+1]; Zahlen[i+1] = Hilfsfeld; } } } }
-
Du hast die einfachsten Grundlagen der Funktionen nicht verstanden. Die Fehlermeldungen können eigentlich nicht offensichtlicher sein..
Edit: Zu deinem "bubblesort" fehlen mir echt die Worte
.
-
Auch die Warnung für Zeile 63 sollte dir zu denken geben.
-
Mir ist schon klar das ich bei einer Funktion ein Rückgabewert brauche den wollte ich mit diesem Beitrag erfragen ?
-
Der Rückgabetyp beider Funktionen ist in deinem Quellcode double. Da du das Prinzip der Funktionen nicht verstanden hast, macht es keinen Sinn da jetzt genauer drauf ein zu gehen.
Um zumindest die beiden Fehler zu beseitigen kannst du den Rückgabetyp beider Funktionen einfach durch void ersetzen.
-
Moritz Vogt schrieb:
Mir ist schon klar das ich bei einer Funktion ein Rückgabewert brauche den wollte ich mit diesem Beitrag erfragen ?
Wenn du keinen sinnvollen Rückgabewert für deine Funktion weißt, kann es auch möglich sein, dass es keinen gibt.
Dann muss der Funktionskopf entsprechend angepasst werden.
-
Funktioniert nun alles . Bin halt noch ein Anfänger nicht anfänger ein Noob
-
NeeLa schrieb:
Edit: Zu deinem "bubblesort" fehlen mir echt die Worte
.Echt? Wieso?
Weil er knapp doppelt so viel Vergleiche macht wie nötig?
Reicht das schon dass dir die Worte fehlen?