012
29.12.2005, 15:52 Uhr
Uwe
C/C++ Master (Administrator)
|
Hallo,
Zitat: |
EDIT: Bei einem cout gibt er mir die zahlen 1 - 9 aus, aber anstatt der 10 wirft er irgendeine ziemlich lange, negative, Zahl aus.
|
Bestimmt eine Bereichsüberschreitung beim Zugriff auf Dein Array. Hast Du Dich mal mit dem Bubblesort Algorithmus auseinander gesetzt? Hier mal die EINFACHSTE Variante:
C++: |
void bubble_sort (int, int[]); int main(int argc, char* argv[]) { int zahlen[10]= {10,9,8,7,6,5,4,3,2,1}; bubble_sort(10,zahlen); for (int i=0;i<=9;i++) std::cout << zahlen[i] << std::endl; int a; std::cin >> a; return 0; }
void bubble_sort (int anz, int a[]) { int x; for (int i=2; i<= anz; i++) { for (int j= anz; j >= i-1; j--) if (a[j-1] > a[j]) { x=a[j-1]; a[j-1]=a[j]; a[j]=x; } } }
|
Mehr dazu auf virtual's hp: www.hipphampel.de/index.php?item=cpp/sorting -- "Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."
Bis dann... Uwe Dieser Post wurde am 29.12.2005 um 15:53 Uhr von Uwe editiert. |