sortieren eines pointerarray!!! DRINGEND!!!



  • hallo
    ich habe folgendes problem:

    ich habe ein array mit 1000 zeichen und ein pointerarray. die pointer des arrays zeigen auf den anfang und das ende der ersten 50 wörter. mit hilfe des pointerarrays soll ich die wörter nun nach der länge der buchstaben sortieren.

    ich habe alles mögliche ausprobiert, mal stürzt mein programm ab mal sortiert er es nicht richtig

    würde mich freuen wenn mir jmd helfen kann

    mfg geschen



  • ohne code schwer zu sagen wo du ein fehler haben könntest...



  • dies ist eine version von vielen, bei dieser stürzt mein programm ab

    void str_laenge(char *array[],char *neu[])
    {
    char *pneu,*pzeich,*zwei[50],*tmp,*tmp2;
    int lang1=0,lang2=0,i=0,j=0,k=0;
    for(i=0;i<100;i++)
    {
    if(i%2==0)
    {
    neu[i]=array[i];
    }
    else
    {
    zwei[i]=array[i];
    }
    }

    do{
    for(pneu=neu[i];pneu<=zwei[i];pneu++)
    {
    lang1++;

    }

    for(pneu=neu[i+1];pneu<=zwei[i+1];pneu++)
    {
    lang2++;
    }

    if(lang1>lang2)
    {
    tmp=neu[i];
    tmp2=zwei[i];
    neu[i]=neu[i+1];
    zwei[i]=zwei[i+1];
    neu[i+1]=tmp;
    zwei[i+1]=tmp2;
    }

    i++;;
    lang1=0;
    lang2=0;
    }while((i<50));
    printf("test1");

    k=0;
    do
    {
    for(pzeich=neu[k];pzeich<=zwei[k];pzeich++)
    {
    if(((*pzeich>='A')&&(*pzeich<='Z'))||((*pzeich>='a')&&(*pzeich<='z')))
    {
    printf("%c",*pzeich);
    }
    else
    {
    printf("-");
    }

    }
    printf(", ");
    k++;
    }while(k<50);
    printf("test2");
    }

    mfg



  • ich glaub da will ich mich gerade mal nicht durchquälen...
    kannst du mal eingabedaten posten und die dazugehörigen ausgabedaten die du haben willst... ist imho ein wenig überkompliziert aufgebaut gibts bestimmt ne einfache Lösung zu aber noch ist mir nicht so 100%ig klar was du machen willst...



  • hallo
    danke für deine hilfe aber hat sich eigentlich schon erledigt

    habe da aber noch ein problem
    ich muss aus einer datei daten in eine struktur einlesen
    in dieser datei steht:
    name vorname Zahlungsbetrag Zins
    .
    .
    .
    (bis zu 100 personen)

    wie kann ich es am besten einlesen und sofort speichern, also name und vorname als string und betrag und zins als float zahl

    ich habe nämlich nicht vor eine zeile in ein array zu speichern und diese dann zu "zerstückeln" (hab doch keine ahnung wie ich den array trennen soll) 😞

    schönen dank schon mal

    mfg geschen



  • fscanf(stream, "%s %s %f %f", name, vorname, &zahlung, &zinz);

    Hier noch ein paar Infos dazu: http://www.freebsd.org/cgi/man.cgi?query=fscanf&apropos=0&sektion=0&manpath=FreeBSD+5.3-RELEASE+and+Ports&format=html



  • ohh vielen dank werde ich gleich mal probieren


Anmelden zum Antworten