System na triedenie udajov v C

Sekcia: Programovanie 11.11.2010 | 18:29
Avatar presto   Používateľ
Dobry den,

Prosim Vas potreboval by som poradit ako zrealizovat system na triedenie udajov, ktory musi obsahovat:
1. Načítanie údajov zo súboru do dynamického poľa v cykle
2. Možnosť zmeny existujúcej položky poľa v tvare štruktúry resp. jej členov
3. Možnosť triedenia štruktúr podľa konkrétnej položky
4. Možnosť vyhľadávania podľa konkrétnej položky
5. Uloženie zmenených dát do súboru

Nacitat udaje do dnamickeho pola zo suboru v cykle viem, taksito ulozit zmenene data do suboru, moznosti 2,3,4 nie su mi az tak jasne. Bol by niekto ochotny mi pomoct? Dakujem.
Zatial mam:
#include <stdio.h>
#include <stdlib.h>

int main()
{

int n, i;
FILE *f1,*f2;
float *pole_hodnot;

pole_hodnot = (float*)malloc(n * sizeof(float));
if(pole_hodnot == NULL)
{
printf("Nedostatok pamatoveho priestoru.\n");
return -1;
}
if ((f1 = fopen("file1.txt", "r"))!= NULL
{

for(i = 0; i < n; i++)
{
fscanf(f1, "%f", &pole_hodnot[i]);
}


return 0;
}

PS: mam predstavu co su to struktury typedef struct {polozky}; , ale neviem ako to presne realizovat a bol by som rad, ak by mi to niekto skuseny predviedol priamo na tomto priklade.

EDIT:
viem, ze napr.:
typedef struct priklad{
int cislo;
char znak;
} Spriklad;

vytvori strukturu s dvomi polozkami cislom a slovom o 9 znakoch a pouzije sa:
Spriklad premenna;
premenna.cislo = 10;
premenna.znak = 'a';

Ale potrebujem jednoducho nejaky odrazovy bod, najlepsie cely priklad nejakeho navrhnuteho vlastneho systemu na triedenie udajov, ktory musi obsahovat to co je popisane v hornych bodoch. Takym stylom ako to je napr v Ucebnici jazyka C od Herouta, no tam som presiel celu kapitolu, ale stale neviem ako konkretne zrealizovat tie body, ktore som popisoval vyssie...Uz som uplne zmeteny...
  • Re: System na triedenie udajov v C 11.11.2010 | 18:36
    Avatar m4jkl   Používateľ
    odrazovy bod:

    pole_hodnot = (float*)malloc(n * sizeof(float));

    pre kolko prvkov si alokoval miesto?
    • Re: System na triedenie udajov v C 11.11.2010 | 18:44
      Avatar presto   Používateľ
      Nealokuje to automaticky podla toho, kolko hodnot nacita do pola zo suboru? Ale inak otazka hlavne aj je, ako uskutocnit zmenu "existujúcej položky poľa v tvare štruktúry resp. jej členov" + "Možnosť triedenia štruktúr podľa konkrétnej položky" a "Možnosť vyhľadávania podľa konkrétnej položky"? Asi si musim dat pauzu nachvilu, snazim sa to riesit cely den, ale som uplne na dne uz :((
      • Re: System na triedenie udajov v C 11.11.2010 | 19:29
        miso   Návštevník
        "Nealokuje to automaticky podla toho, kolko hodnot nacita do pola zo suboru?"

        Nie, alokuje to miesto pre nahodny pocet prvkov typu float.
        • Re: System na triedenie udajov v C 06.03.2012 | 18:11
          math   Návštevník
          to n v dynamickej alokacii si musis interne konkretne odvodit..od niekial..zrejme este pred tym nechaj oskenovat potrebne polozky v subore a prirad to cislo do n.cize to n musis este pred alokaciou ciselne konkretizovat
          • Re: System na triedenie udajov v C 06.03.2012 | 18:12
            math   Návštevník
            2010? tak nic(: