Friday, April 1, 2011

#5 Binarno drvece prvi primer

#include<stdio.h>
#include<conio.h>
//ovo je stari C
//#include<alloc.h>
//ovo je za dev C++
#include<stdlib.h>
#include<string.h>

typedef char ime[10];

typedef struct cvor{
         ime lice;
         struct cvor *levo;
         struct cvor *desno;
} BCVOR;
 //funkcija za pisanje
 void pisi(BCVOR *tekuci){
      if(tekuci!=NULL){
        pisi(tekuci->levo);
        printf("%s->",tekuci->lice);
        pisi(tekuci->desno);
      }
  }
 
  void umetni(BCVOR *novi,BCVOR **pkoren){
                   
         if(*pkoren==NULL){
            *pkoren=novi;
            novi->levo=NULL;
            novi->desno=NULL;                 
         }
         else{
          // if(novi->lice<(*pkoren)->lice)
             if (strcmp(novi->lice,(*pkoren)->lice)<0){
                umetni(novi,&(*pkoren)->levo);
             }
            else {
              umetni(novi,&(*pkoren)->desno);   
            }    
         }
       }
 
  main(){
   BCVOR *koren,*novi;
   char osobe[10];
   //pocetak liste je prazan
   koren=NULL; 
     
   printf("\n Unesi imena liste:\n");
  
   while(strcmp(osobe,"KRAJ")!=0)
   {
       novi=(BCVOR *)malloc(sizeof(BCVOR));
       strcpy(novi->lice,osobe);
       umetni(novi,&koren);
       scanf("%s",&osobe);
                                
   } 
      printf("\n\n Sadrzaj drveta je:\n");
      pisi(koren);
 getch();    
}     

Wednesday, March 30, 2011

#5 Lista prvi primer redefinisan

#include<stdio.h>
#include<conio.h>
#include<stdio.h>
//ovo je stari C
//#include<alloc.h>
//ovo je za dev C++
#include<stdlib.h>

 //typedef char TIP;
  //typedef
typedef struct cvor_st{
         char slovo;
         struct cvor_st *sledeci;
} LCVOR;
 //funkcija za pisanje
 void pisi(LCVOR *tekuci){
      while(tekuci!=NULL){
      printf("->%c",tekuci->slovo);
      tekuci=tekuci->sledeci;
      }
  }
 
  main(){
   LCVOR *pocetak_liste,*novi;
   char i_slovo;
   //pocetak liste je prazan
   pocetak_liste=NULL;    
   printf("\n Unesi sadrzaj liste:\n");
  
   while((i_slovo=getchar())!='\n')
   {
       novi=(LCVOR *)malloc(sizeof(LCVOR));
       novi->slovo=i_slovo;
       novi->sledeci=pocetak_liste;
       pocetak_liste=novi;                         
   } 
      printf("Sadrzaj liste je:\n");
      pisi(pocetak_liste);
 getch();    
}