#1 2. November 2007 anfänger script mit anfänger problem ^^ hallo Leute^^ also bin noch sehr unerfahren und wolllt euch um hilfe fragen also.. aufgabenstellung ist folgende: ein programm in dem man 3 ganze zahlen eingibt diese sollten dann nochmal ausgegeben werden aber sortiert mit der kleinsten zahl zu beginn ^^ hab mal bissl rumgespielt und hab jetz das hier rausbekommen funktioniert aber kein bisschen so ^^ Code: #include <iostream> using namespace std; int main() { int a, b, c; cout << "Geben Sie eine 3 Zahlen ein: " << endl <<endl; cin >> a; cin >> b; cin >> c; cout << endl; if(a<b) cout << a << endl; else if(a<c) cout << a << endl; else if(b<a) cout << b << endl; else if(b<c) cout << b << endl; else if(c<a) cout << c << endl; else if(c<b) cout << c << endl; else getchar(); return 0; } ich weiß dass das hier blödsinn is aber könnte mir wer sagen wie es richtig geht? bitte bw is natürlich drinn + Multi-Zitat Zitieren
#2 2. November 2007 AW: anfänger script mit anfänger problem ^^ Ein Sortieralgorithmus Ich würde ne Struktur erstellen, die eine Zahl repraesentiert. Diese Struktur beinhaltet dann einmal den wert der Zahl und einmal die Position der Variable (die kleinste Zhl soll später die Position 0 haben). Dann muss man sich ne Schleife nehmen, die solange läuft, bis die Zahlen sortiert sind. In der Schleife muss dann die größer/kleiner Prüfung gemacht werden. Das jetzt alles näher auszuführen würde zu lang werden. Wenn du dich bis heute abend gedulden kannst, programmier ich dir das nachher schnell... MFG Pacman + Multi-Zitat Zitieren
#3 2. November 2007 AW: anfänger script mit anfänger problem ^^ les dir mal ein artrikel zum thema bubble sort auf wikipedia durch der lässt sich eigentlich recht einfach programmieren ^^ + Multi-Zitat Zitieren
#4 2. November 2007 AW: anfänger script mit anfänger problem ^^ nicht noetig... habs schon fertig. habs dochn noch einfacher gemacht. Wie mein Vorgänger schon meinte ist es echt simpel... Hier der Code: Code: #include <iostream> using namespace std; int main(void) { cout << "Wieviele Zahlen moechten Sie sortieren?\n"; int count = 0; cin >> count; //entsprechend grosses array anlegen int *Numbers = new int[count]; //Zahleneingabe vom Benutzer for(int i=0; i<count; i++) { cout << "Zahl " << i+1 << ": "; cin >> Numbers[i]; } //Hier wird sortiert //Das Array wird insgesamt count² mal durchlaufen for(int j=0; j<count-1; j++) { for(int i=0; i<count-1; i++) { //Dabei wird uberprueft, ob die naechste Zahl groesser ist, als die, bei der die Schlefe gerade ist if(Numbers[i] > Numbers[i+1]) { //Wenn ja, tauschen die Zahlen die Plaetze im Array int buffer = Numbers[i]; Numbers[i] = Numbers[i+1]; Numbers[i+1] = buffer; } } } //und ausgeben for(int i=0; i<count; i++) { cout << Numbers[i] << " "; } delete[] Numbers; }; Der Code erklärt sich eigentlich von selbst. Solltest du dennoch fragen haben -> PN MFG Pacman PS: Das ist sicherlich nicht die Muterlösung, da das Array wahrscheinlich in den meisten Fällen viel öfter durchlaufen wird als es muss. Ich bin vom Schlechtesten Fall ausgegeangen und da die 3 Funktionen in der if-Abfrage einen modernen Rechner nicht groß beanspruchen, hab ich mir gedacht, dass man diesen Performanceverlust ruhigen Gewissens in Kauf nehmen kann... + Multi-Zitat Zitieren