Menu schließen

C++ Projekt mit BUBBLESORT Help

Frage: C++ Projekt mit BUBBLESORT Help
(12 Antworten)


Autor
Beiträge 0
13
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


Autor
Beiträge 0
13
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();
};


Autor
Beiträge 0
13
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);
}


Autor
Beiträge 0
13
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


Autor
Beiträge 0
13
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...........


Autor
Beiträge 0
13
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:

if($_FILES[`Datei`][`tmp_name`])
{
$max_byte_size = 10000;
$allowed_types = "(jpg|gif|swf|png)";
if(preg_match("/." . $allowed_types . "$/i", $_FILES["Datei"]["name"]))
{
if($_FILES["Datei"]["size"] <= $max_byte_size)
{
$size = getimagesize ($_FILES[`Datei`][`tmp_name`]);
if ($size[0]>100 || $size[1]>100)
{
$error="Höhe und/oder Breite des Avatars zu groß.";
} else {
$error="";
move_uploaded_file($_FILES[`Datei`][`tmp_name`], "images/avatars/".$_FILES[`Datei`][`name`]);
$endung = explode(".",$_FILES[`Datei`][`name`]);
rename("images/avatars/".$_FILES[`Datei`][`name`], "images/avatars/ $user.$endung[1]");
$sql = "UPDATE `gophp_users` SET `avantar` = `images/avatars/ $user.$endung[1]` WHERE username=`$profile` ";
$bla = mysql_query($sql);
}

} else {
$error="Bild zu groß";
}
} else {
$error="Dateityp nicht erlaubt. Bitte nur jpg,gif,swf und png-Endungen.";
}
}

 
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


Autor
Beiträge 0
13
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

Verstoß melden
Hast Du eine eigene Frage an unsere Informatik-Experten?

11 ähnliche Fragen im Forum: 1 passende Dokumente zum Thema:
> Du befindest dich hier: Support-Forum - Informatik
ÄHNLICHE FRAGEN:
  • SQL Frage
    Hallo, ich habe eine Frage zu folgenden Aufgaben: 1. Für jeden Mitarbeiter den Gesamtwert aller Projekte, an denen er..
  • Sortieralgorithmen - Shakersort
    Hallo, 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 Java
    Hallo, 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 - Muster
    Hallo Leute wir haben jetz in Informatik Programmieren mit Delphi (Lazarus) und mit Schleifen angefangen und Sollen jetz ein ..
  • MySQL Datenbank Abfrage
    Hallo, 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 Computernetzwerke
    Dieses Referat handelt um Inerne Computernetzwerke. Wir hatten in der Schule das Thema Bürokommunikation, dazu mussten wir einen..
  • mehr ...