Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Wörter sotieren???

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
16.05.2004, 13:39 Uhr
Sloth



Ich werd langsam hier zu stammkunden

Also diesmal hab ich das Problem, dass ich eine Strucktur hab, die dann Wörter enthält. Und eben diese Struktur wollte ich ausgeben können und zwar nach versciedenen Sachen sotiert.
Z.B. hat die Struktur einen String, wo der Titel drauf gespeichert wird. Und wenn ich die Sachen nach dem titel sotieren lasse sollten die anderen Sachen in ruhe gelassen werden. Deswegen wollte ich den Index von dem Array rausfinden, das nach dem Ascii-code am kleinsten ist. Denn dann könnte ich sie mir ja sotiert ausgeben lassen ohne irgendwie die reihenfolge verändern zu müssen.
Ich hoffe ihr versteht was ich sagen will und könnt mir nochmal helfen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.05.2004, 14:17 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


such mal im forum nach qsort... da ist schon alles fertig du musst immer nur eine entsprechende sortierfunktion implementieren, die nach dem von dir gewünschten kriterium sortiert...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.05.2004, 14:40 Uhr
Sloth



OH, nicht grad einfach! Ums anders zu sagen: versteh ich nich! Kann ich das auch mit diesem Sotier-algo machen


C++:
int maxsort(int zahlen[])
{
    int lang =0, max = 0, z=0,n=1;
    lang = zahlen[5000];    

    for (; n< lang -1 ; n++)
    {
        for (; z < lang - n; z++){
            if (zahlen[z] > zahlen[max]) max  = z;
            max=0;
            }
            tausche(zahlen, max, lang -n-1);  
            z=0;
    }
    return 0;
}



Bei dem hattest du mir ja auch schon mal geholfen und den versteh ich auch. Aber das Problem ist, dass ich granicht so recht wei0, wie ich die sache angehen soll, weil ich ja nur nach einemTeil der Structur sotieren will und auch nicht die Reihenfolge verändern will, deswege wollte ich die Sache ja über den Index machen, aber ich weiß halt noch nicht wie ich das genau machen soll.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.05.2004, 15:06 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


naja wenn du zahlen sortieren willst ists dir ja klar... die kannst du direkt vergleichen...
bei buchstaben ist das halt was anderes... kannst z.b. strcmp verwenden um zwei strings direkt miteinander zu vergleichen...
an den schleifen selber brauchst du ja sonst nix zu ändern...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.05.2004, 16:02 Uhr
Sloth



SCHEIßE!!

ich bekomm das hier nicht so hin, wie ich es gerne hätte! Em, ich brauch ja nur bei ersten durchlauf den index von dem Wort dass am kleinsten ist und dann den von dem was am zweitkleinsten ist, aber ich bekomms einfach nicht hin!

Wäre nett von dir wenn du mir vielleicht noch n kleinen tipp geben könntest, wie ich die Sache überhaupt aufbauen soll.

Ich hab ein Array von 100 Werten, dass eine Strktur enthält,m die enthält dann wieder Titel und eben nach diesen Titeln will ich sotieren ohne datei den titel von den anderen infos zu trennen!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.05.2004, 16:25 Uhr
0xdeadbeef
Gott
(Operator)



C++:
struct mystruct {
  char *titel;
  int weiteres_attribut;
}

int cmp_mystruct(void *p, void *q) {
  return strcmp(((struct mystruct*) p)->titel, ((struct mystruct*) q)->titel);
}

/* ... */

struct mystruct a[10];
/* a füllen */
qsort(a, 10, sizeof(struct mystruct), cmp_mystruct);


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
20.04.2005, 09:20 Uhr
~Frosch
Gast


Das ist alles ganz schön scheiße
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


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: