C nekonecna funkcia C

Programovacie jazyky, rady, poradňa...
reDo
Star
Star
Používateľov profilový obrázok
Príspevky: 661
Registrovaný: 26 apr 2009, 18:36
Bydlisko: 00100100
Kontaktovať používateľa:

C nekonecna funkcia C

Príspevok od používateľa reDo »

ako by sa dalo spravit archiv nekonecny napr mam 10 vytvorenych zaznamov tak ako by som spravil funkciu ktora by pripocitala dalsi jeden zaznam ale neznicila povodny udaj iba by ho pridala??? :roll: :roll:
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

záleží v akej štruktúre tie záznamy máš (pole, lineárny zoznam, súbor..) ale nikdy nebude nekonečný, vždy budeš limitovaný pamäťou
reDo
Star
Star
Používateľov profilový obrázok
Príspevky: 661
Registrovaný: 26 apr 2009, 18:36
Bydlisko: 00100100
Kontaktovať používateľa:

Príspevok od používateľa reDo »

ano ale jas om to nemyslel na pamet ale na princip tej funkcie ktora vytviota dalsi zaznam dam priklad a ukzte mi ako na to

Kód: Vybrať všetko

struct OSOBA
{
int vek;
char meno[51];
char pohlavie[11];
};
OSOBA prva;
napr a ukazte mi nejake pouzitie funkcie na vytvorenie dalsej a stale pridavanie dakujem :)
njoko
Light Expert
Light Expert
Príspevky: 50
Registrovaný: 09 okt 2008, 13:32

Príspevok od používateľa njoko »

ja som to mal takto akurat sami to nechce prepisovat podla tvojej struktury...a zda sa mi ze tu urcis na ktore miesto sa to ma pridat
akurat toto ti bdue fungovat pre takyto zaznam

Kód: Vybrať všetko

struct OSOBA 
{ 
int vek; 
char meno[51]; 
char pohlavie[11]; 
struct OSOBA * dalsia;
};
a potom takto nejak asi

Kód: Vybrať všetko

OSOBA pridaj(OSOBA  *prve)
{
     int a=0,b=1,z;
 
    OSOBA   *pom;
    OSOBA *aktualne;
     OSOBA  *pred=NULL;
		
        pom=(OSOBA  *)malloc(sizeof(OSOBA )); 
    
      							/*ak sa pridava na koniec*/
       
          for(aktualne=prve;aktualne->dalsia!=NULL;aktualne=aktualne->dalsia)
              {}
          aktualne->dalsia=pom;
       
       
     
     pred->dalsia=pom;
     pom->dalsia=aktualne; 
     }
                //nacitas si                 
                return prve;
}
edit:editnute..ale nie som si isty..si ma zmiatol:D
reDo
Star
Star
Používateľov profilový obrázok
Príspevky: 661
Registrovaný: 26 apr 2009, 18:36
Bydlisko: 00100100
Kontaktovať používateľa:

Príspevok od používateľa reDo »

prosim ta sprav to jednoduchsie len ta funkcia staci :) :) :roll:
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

Príspevok od používateľa neutronmind »

Napísať odpoveď