Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Bubblesort

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.10.2005, 18:36 Uhr
~Kathi
Gast


Hallo ich bräuchte dringend eine Hilfe, ich würde gerne wissen wieso dieser Bubblesort nicht funktioniert oder wie ich den Bubblesort richtig schreibe...
Ich hoffe mir kann jemand bis Morgen helfen...
Danke im Voraus
Eure Kathi
Falls es geht Antwort bitte per eMail: Anna-Klam@gmx.net


C++:
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
//-----------------------------------------------------------------------

int main()
{
int tab[10], i=0 , j=0 , hilfsfeld;
for (i=0; i<=9; i++)
  tab[i] = rand();

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;
   }
  }
}

getch();
clrscr();
for (i=0; i<=9; i++)
       cout<<tab[i];
getch();
return 0;
}




Bearbeitung von Windalf:

Codetags gefixt...


Dieser Post wurde am 09.10.2005 um 19:10 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.10.2005, 19:11 Uhr
RedEagle



So aus dem Kopf:

C++:
for(j=9; j>=0; j--)
{
for(i=1; i>=9; i++)
{
   //...


sry das die Antwort so knapp ist, aber meine Tastatur spinnt gerade.
Hab keine Strg-,und Pfeiltasten
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.10.2005, 19:22 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


google hilft...

erster link bei ner bubblesort suche www.kbs.uni-hannover.de/info1/info97/vorlesungsskript/Bubble-Sort-Beispiel.html....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.10.2005, 19:27 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo

Zitat von ~Kathi:

Falls es geht Antwort bitte per eMail: Anna-Klam@gmx.net // nöö;

C++:
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
//-----------------------------------------------------------------------

int main()
{
int tab[10], i=0 , j=0 , hilfsfeld;
for (i=0; i<=9; i++){
  tab[i] = rand();  // hier solltest Du zur Überprüfung Deine Zufallszahlen einmal ausgeben
  cout << tab[i] << endl;
}

for (j=0; j<=8; j++) // Abbruchbedingung überprüfen
{
  for (i=0; i<=8; i++) // selbiges
  {
   if (tab[i+1] < tab[i])
   {
    hilfsfeld=tab[i];
    tab[i]=tab[i+1];
    tab[i+1]=hilfsfeld;
   }
  }
}

getch(); // Warum das?
clrscr(); // ?
for (i=0; i<=9; i++)
       cout<<tab[i];
getch();
return 0;
}





sonst sieht das doch ganz gut aus.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 09.10.2005 um 19:32 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.10.2005, 20:24 Uhr
Bruder Leif
dances with systems
(Operator)



Zitat von RedEagle:
meine Tastatur spinnt gerade. Hab keine Strg-,und Pfeiltasten


Nimm vi, dann brauchst Du die nicht /scnr
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.10.2005, 23:36 Uhr
imhotep
followed the white rabbit


Es gibt noch eine paar Optimierungsmöglichkeiten für Bubblesort. Damit das nicht unnötig lauen muss, da es eh schon eine der langsamsten Methode ist.



C++:
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
//-----------------------------------------------------------------------

int main()
{
  int tab[10], i=0 , j=0 , hilfsfeld;
  int fertig; // wird gebraucht um zuerkennen, das eine Vertauschung ablief

  for (i=0; i<10; i++) tab[i] = rand();

  j = 9; // zu sortierenden Bereich
  do {
    fertig = 1;
    for (i=0; i < j ; i++)
    {
      if (tab[i+1] < tab[i])
      {
        fertig = 0; // es musste was getauscht werden
        hilfsfeld = tab[i];
        tab[i] = tab[i+1];
        tab[i+1] = hilfsfeld;
      }
    }
    j--; // Liste um eins verkürzen.
  } while (fertig == 0); // wenn nichts mehr sortiert wurde ist Schluss

getch();
clrscr();
for (i=0; i<10; i++) cout<<tab[i];
getch();
return 0;
}



Die Optimierung umfasst 2 Gedanken:
1. Wenn man durch die Liste durch ist und nichts unsortiertes gefunden hat, ist die Liste sortiert.
2. Nach jedem Durchlauf wird die Liste, die zu sortieren ist um 1 kleiner, weil das grösste Element immer ans Ende getauscht wird.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.10.2005, 17:51 Uhr
BoBtheREapER
kein job für nen BoB


wobei quicksort natürlich viel schneller wäre (wie der name schon sagt):

man nimmt das erste elemnt der liste und teilt die liste inn zwei neue auf: alle elemente die größer sind als das erste kommen in liste 1, alle die kliener sind in liste 2

geht wesentlich schneller, vor allem bei großen listen, braucht aber mehr arbeitsspeicher
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.10.2005, 18:13 Uhr
imhotep
followed the white rabbit


@ BoBtheREapER es gibt viele Sortieralgorithmen und die meisten sind schneller als Bubble-Sort.
Das mit dem Arbeitsspeicher ist allegmein so, wenn man Zeitsparen will muss man Speicher zugeben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
10.10.2005, 19:08 Uhr
BoBtheREapER
kein job für nen BoB


ich wollte ja nur drauf hinweisen
tschuldigung
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
10.10.2005, 19:37 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo "Bob"

Zitat von BoBtheREapER:

tschuldigung

Du brauchst Dich doch nicht zu entschultigen. Aber wenn die Aufgabenstellung (nehme mal an es war eine) es verlangt, dann werden eben "Blasen" gemacht

--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: