Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C - qsort retazca

Najskor mam nejaky subor znakov tie vytriedim iba na jednociferne cisla a hodim do retazca. Ten retazec z cislami chcem vytriedit pomocou qsort ale nejde mi to neviem preco vsetko mam ako by malo byt

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Retazce.h"

int main()
{
    const int POCET=10;
    char *znaky=(char *)malloc(POCET*sizeof(char));
    char *cifry=(char *)malloc(POCET*sizeof(char));
    char *hladaneZnaky="0123456789";
    char *nasiel;
    char znak;
    int pocetPrvkov=-1;
    int kolkoKratAlokoval=1;
    FILE *fr;

    if((fr=fopen("zdroj.txt","r"))==NULL)
    {
        printf("Subor zdroj.txt neexistuje!\n");
        return 1;
    }

    while(fscanf(fr,"%c",&znak)!=EOF)
    {
        ++pocetPrvkov;
        if(pocetPrvkov%POCET==POCET-1)
        {
            ++kolkoKratAlokoval;
            znaky=(char *)realloc(znaky,POCET*kolkoKratAlokoval*sizeof(cha r));
        }
        znaky[pocetPrvkov]=znak;
    }
    printf("%s\n\n",znaky);
    pocetPrvkov=0;
    kolkoKratAlokoval=1;
    nasiel=strpbrk(znaky,hladaneZnaky);
    while(nasiel!=NULL)
    {
        if(pocetPrvkov%POCET==POCET-1)
        {
            kolkoKratAlokoval++;
            cifry=(char *)realloc(cifry,POCET*kolkoKratAlokoval*sizeof(cha r));
        }
        cifry[pocetPrvkov++]=*nasiel;
        nasiel=strpbrk(++nasiel,hladaneZnaky);
    }
    cifry[pocetPrvkov]='\0';
    printf("%s\n\n",cifry);
    pocetPrvkov++;
    qsort(cifry,pocetPrvkov,sizeof(char*),comp);
    printf("%s\n",cifry);
    free(znaky);
    fclose(fr);
    return 0;
}

int comp(const void *a,const void *b)
{
    return strcmp(*(char **)a,*(char **)b);
}
Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Dakujem za rady idem sa do toho pustit :) nový
Hilfiger 08.03.2014 16:26
Hilfiger
OOP class nemusis robit :) Zbytok mozes ak sa ti chce :) nový
MM.. 08.03.2014 16:30
MM..
A funguje teda uz ten qsort? Ja som to pisal zhlavy, ja tie veci co sem pisem netestujem :) nový
MM.. 08.03.2014 17:22
MM..
MM.. zivis sa kodenim ? kde alebo ako si sa naucil dobre kodit :) ď za odpoved :)) poslední
majklxxx_2014 09.03.2014 11:35
majklxxx_2014

Zpět do poradny Odpovědět na původní otázku Nahoru