pouzivam CODE BLOCKS a ked mam na vyber na zaciatku, tak spustam programi cez CONSOLE APPLICATION, alebo aj cez hocico ine, chyby su stale rovnake...
Kód: Vybrať všetko
http://people.tuke.sk/igor.podlubny/C/Kap10.htmdik
Kód: Vybrať všetko
http://people.tuke.sk/igor.podlubny/C/Kap10.htm
Kód: Vybrať všetko
#include <STDIO.H>
#include <STDLIB.H>
#include <STRING.H>
#include <CONIO.H>
#define POCET 30
#define RET 50
typedef struct bstrom uzol;
typedef struct bstrom* puzol;
struct bstrom{
char* m;
puzol lavy;
puzol pravy;
} ;
puzol vloz(puzol, char *);
void vytvor(char [][], int *);
void zobraz(puzol);
main()
{
int i,n;
char ret[POCET][RET+1];
puzol koren = NULL;
printf("Pocet retazcov <MAX. %d> : ",POCET);
scanf("%d",&n);
if( n < 1 || n > POCET)
n = POCET;
vytvor(ret, &n);
puts("vytvaram binarny strom");
for (i=0; i<N; * }
{ koren- koren="vloz(koren," NULL)
{ if(koren="=" stromu binarneho
do prvkov vkladanie rekurzivne *m)
char koren, vloz(puzol puzol zobraz(koren); :\n?);
retazcov pole puts(?zotriedene ret[i]); i++)>m = m;
koren->lavy = koren->pravy = NULL;
}
else{
if(strcmp(m,koren->m) < 0)
koren->lavy = vloz(koren->lavy,m);
else
koren->pravy = vloz(koren->pravy,m);
}
return(koren);
}
void vytvor(char x[][RET+1], int *n)
/* generovanie pola nahodnych retazcov */
{
int i,j;
char pom[RET+1];
randomize();
if(*n < 1 || *n > POCET)
*n = POCET;
for(i=0; i<*n; i++){
for(j=0; j<RET; * } { void stromu rekurzivne
if(koren- bin. uzlov prezeranie koren)
zobraz(puzol ; *(x+i)+j)="\0" *( j);
pom, strncpy(*(x+i), j="random(RET-1);" 0)
(j="=" if pom[RET]="\0" random(26);
+ *(pom+j)="a" j++)>lavy != NULL)
zobraz(koren->lavy);
printf("\t %s \n",koren->m);
if(koren->pravy != NULL)
zobraz(koren->pravy);
}
Kód: Vybrať všetko
if(koren="=" stromu binarneho
do prvkov vkladanie rekurzivne *m)