C++ Projekt mit BUBBLESORT Help
Frage: C++ Projekt mit BUBBLESORT Help(12 Antworten)
hallo alle zusammen! Ich hoffe jemand vo euch kennt sich mit der Sortiermethode BUBBLESORT aus, denn ich muss eine Präsentation abliefern. Teil der Präsentation ist die praktische Vorstellung von Bubblesort. Dazu hab ich als Hilfe im Net was gefunden, komme aber nicht mit allen Befehlen zu Recht. Kennt sich jemand mit C++ und evtl. mit BUBBLESORT aus und kann helfen? Gruß |
Frage von redo (ehem. Mitglied) | am 18.01.2007 - 18:59 |
Antwort von redo (ehem. Mitglied) | 18.01.2007 - 19:01 |
Hier der C++ Quellcode, wäre wür Erläuterungen unheimlich dankbar!: void swap(int *pa,int *pb) { int tmp=*pa; *pa=*pb; *pb=tmp; }; void bubbleSort(int *array,int size) { for(int obergrenze=size-1;obergrenze>0;--obergrenze) { for(int pos=0;pos<obergrenze;++pos) { if(array[pos]>array[pos+1]) swap(&array[pos],&array[pos+1]); }; }; }; void test() { const int SIZE=10; int array[SIZE]; int i; for(i=0;i<SIZE;++i) // array mit zufallszahlen kleiner als SIZE füllen array[i]=rand()%SIZE; for(i=0;i<SIZE;++i) // alle zahlen in einer zeile ausgeben cout<<array[i]<<` `; bubbleSort(array,SIZE); // jetzt sortieren for(i=0;i<SIZE;++i) // nach dem sortieren ausgeben cout<<array[i]<<` `; for(i=0;i<SIZE-1;++i)// zum prüfen des sortier-algorithmus: ist eine zahl // grösser als der darauffolgende wert? (dann hat unser algorithmus // fehlerhaft gearbeitet) if(array[i]>array[i+1]) { cout<<"Fehler!"<<endl; cin.get();//wartet auf Tastendruck }; cout<<endl; }; void main() { for(int i=0;i<1000000;++i) test(); }; |
Antwort von redo (ehem. Mitglied) | 18.01.2007 - 19:07 |
SORRY, die obige ist die falsche, das ist die die ich meine: #include <stdio.h> #include <stdlib.h> /* Sortiert (aufsteigend) die ersten n Elemente des int-Arrays v */ void bubblesort(int v[], int n) { for (int i = n - 1; i > 0; i--) { // innere Schleife abhängig von i (Korrelation) for (int j = 0; j < i; j++) { // ggf. Korrektur der Ordnung zweier, // aufeinanderfolgender Werte if (v[j] > v[j + 1]) { // ein kleiner Bubble-Schritt (Vertauschung) int swp = v[j]; v[j] = v[j + 1]; v[j + 1] = swp; } } } } // Kleiner Test: Lass bubbeln! int main() { int values[] = {5, 14, 7, 1, 2, 74, 22, 17}; int count = sizeof(values) / sizeof(*values); // Ausgabe der Werte (vorher) for (int i = 0; i < count; i++) printf("%5d", values[i]); printf(" "); // Sortiere alle (count!) Elemente von values bubblesort(values, count); // Ausgabe der Werte (nachher) for ( i = 0; i < count; i++) printf("%5d", values[i]); printf(" "); system("PAUSE"); return(0); } |
Antwort von Chucka (ehem. Mitglied) | 18.01.2007 - 19:22 |
wo genau kommst du nicht zu recht? |
Antwort von GAST | 18.01.2007 - 19:27 |
bubblesort is geil xD |
Antwort von redo (ehem. Mitglied) | 18.01.2007 - 19:32 |
A, besten ganz allgemien den gesamten code abe hier habe ich die meisten Probleme: // Kleiner Test: Lass bubbeln! int main() { int values[] = {5, 14, 7, 1, 2, 74, 22, 17}; int count = sizeof(values) / sizeof(*values); // Ausgabe der Werte (vorher) for (int i = 0; i < count; i++) printf("%5d", values[i]); printf(" "); // Sortiere alle (count!) Elemente von values bubblesort(values, count); // Ausgabe der Werte (nachher) for ( i = 0; i < count; i++) printf("%5d", values[i]); printf(" "); system("PAUSE"); return(0); } |
Antwort von GAST | 18.01.2007 - 19:36 |
oh je wieso grad bubblesort........... |
Antwort von redo (ehem. Mitglied) | 18.01.2007 - 19:41 |
bubblesort scheint wohl berühmt berüchtigt zu sein? Kann mir niemand was zum code oder der Sortiermethode sagen, bin für alles dankbar |
Antwort von GAST | 18.01.2007 - 19:42 |
Kannst du dir nicht angewöhnen, einzurücken? Das ist ja quasi unlesbar. Das ist einrücken: Zitat: |
Antwort von GAST | 18.01.2007 - 19:44 |
ne bubblesort ist ne langsame methode, deshalb hat man mit der sortiermethode nicht viel zu tun............ich habs mal in c# und c programmiert |
Antwort von GAST | 18.01.2007 - 19:47 |
Oh.. Sorry, das ist auch nicht einrücken. Das kommt hier nicht rüber |
Antwort von redo (ehem. Mitglied) | 18.01.2007 - 19:49 |
@jarobi du hast es nicht zufällig noch, würd`s mir gerne mal ansehen @bibabu eben |
Antwort von GAST | 18.01.2007 - 19:58 |
int main() { int tab[10], i=0 , j=0 , hilfsfeld; for (i=0; i<=9; i++) tab[i] = rand()%10; for (j=0; j<=8; j++) { for (i=0; i<=8; i++) { if (tab[i+1] < tab[i]) { hilfsfeld=tab[i]; tab[i]=tab[i+1]; tab[i+1]=hilfsfeld; } } } for (i=0; i<=9; i++) printf("%d ",tab[i]); return 0; } hier hab ich´s in C........... habs noch irgendwo in c#........... würd dir gern helfen, aber dein code ist ziemlich unübersichtlich und nicht ganz verständlich..........das macht es dann schwerer deinen code zu verstehen, da ich ja auch noch nicht in c++ programmiert habe.......aber die syntax unterschieder von c++ und c# sind ja nicht gross |
11 ähnliche Fragen im Forum:
> Du befindest dich hier: Support-Forum - Informatik- SQL Frage (0 Antworten)
- Sortieralgorithmen - Shakersort (4 Antworten)
- PHP-Projekt-Welches Thema? (4 Antworten)
- Lineare Datenstrukturen in Java (1 Antworten)
- Delphi - Schleifen - Muster (4 Antworten)
- MySQL Datenbank Abfrage (8 Antworten)
- mehr ...
ÄHNLICHE FRAGEN:
- SQL FrageHallo, ich habe eine Frage zu folgenden Aufgaben: 1. Für jeden Mitarbeiter den Gesamtwert aller Projekte, an denen er..
- Sortieralgorithmen - ShakersortHallo, ich halte einen Vortrag über die Sortieralgorithmen in Pascal. Dabei möchte ich ein Beispiel zum Shakersort bringen, ..
- PHP-Projekt-Welches Thema?Hi, ich muss in informatik so ein kack php-projekt machen und ich darf mir das thema selbst ausdenken, nur weiß ich nicht ..
- Lineare Datenstrukturen in JavaHallo, ich würde gerne wissen, ob mir jemand helfen kann welcher sich gut mit Java auskennt. Es wäre cool, wenn mich jemand ..
- Delphi - Schleifen - MusterHallo Leute wir haben jetz in Informatik Programmieren mit Delphi (Lazarus) und mit Schleifen angefangen und Sollen jetz ein ..
- MySQL Datenbank AbfrageHallo, ich brauch für ein Projekt in einer Datenbank eine temporäre Spalte, nach der ich sortieren will. Diese Spalte soll ..
- mehr ...
BELIEBTE DOWNLOADS:
- Interne ComputernetzwerkeDieses Referat handelt um Inerne Computernetzwerke. Wir hatten in der Schule das Thema Bürokommunikation, dazu mussten wir einen..
- mehr ...