C-Abweichungen in XCode (bubblesort)

Dieses Thema im Forum "Software" wurde erstellt von minimum, 7. Juni 2005.

  1. minimum

    minimum New Member

    Moin,
    ich bin Student in der FH und programmieren in C.
    Da ich mein iBook bevorzuge programmier ich nicht in Bloodshet sondern eben in XCode, bisher lief das auch ganz gut.
    Nun habe ich eine Bubblesort programmiert und das Ding läuft nicht auf dem Mac. Dafür aber auf dem PC. Alles funktioniert auf dem Mac, nur der Sort-Algorythmus tut nicht.
    Gibts da abweichungen zu XCode ?
    Gruß,
    Max

    Wer hilfsbereit sit und etwas Zeit hat: Ich habe mal den Code angefügt, ebenso die Datei die er sortieren soll.
     

    Anhänge:

  2. Kafi

    Kafi New Member

    ich schau mir das mal an :)
     
  3. minimum

    minimum New Member

    spitze !
    (aber nicht schlagen wegen des wirrwars an Code und schlechten Kommentaren)
     
  4. brumbaer

    brumbaer New Member

    if (vergleiche (a[n],a[n+1])== 1)

    funktioniert nicht wie Du Dir das vorstellst.

    strcmp (in vergleiche) gibt nicht 0, 1 oder -1 zurück,
    sondern 0, >0 oder < 0

    Ersetze == 1 durch > 0 und Alles wird gut.


    mfg
    SH

    @minimum
    Klasse Kommentar, sehr hilfreich
     
  5. Kafi

    Kafi New Member

    Das Problem ist, das für strcmp(a,b) folgendes definiert ist

    wenn a und b gleich, ist der rückgabewert == 0
    wenn a < b, rückgabewert < 0
    wenn a > b, rückgabewert > 0

    du bist aber davon ausgegangen, dass der Rückgabewert für
    a > b == 1 ist, was es bei windows ja auch zu sein scheint.

    Wenn du nicht auf == 1, sondern auf > 0 abfragst, funkioniert der algorithmus :)

    Hoffe, das hilft

    Kafi
     
  6. Kafi

    Kafi New Member

    grml.. warst schneller :)
     

Diese Seite empfehlen