Thread: tanya codingan
View Single Post
  #1  
Old 20th November 2011
Badguy13 Badguy13 is offline
Ceriwiser
 
Join Date: Nov 2011
Posts: 399
Rep Power: 14
Badguy13 mempunyai hidup yang Normal
Default tanya codingan

gan mau tanya ni, codingan gw ngak jalan


Spoiler for codingan gw:






#include

#include

#include

#define P printf

#define S scanf

#define F fflush(stdin)



struct data{

char nama;

int umur;

int level;

struct data *left,*right;

}*root=NULL,*curr;





void push(struct data **p,char nama[16],int umur,int level=1){

if(*p==NULL){

(*p)=(struct data*)malloc(sizeof(struct data));

strcpy((*p)->nama,nama);

(*p)->umur=umur;

(*p)->level=level;

(*p)->left=NULL;

(*p)->right=NULL;

}else{

if(strcmp(nama,(*p)->nama)left,nama,umur,level);

}else if(strcmp(nama,(*p)->nama)>0){

push(&(*p)->right,nama,level);

}else{

P("\nNama sudah ada");

}

}

}



void inorder(struct data *p){

if(p==NULL){

return;

}else{

inorder(p->left);

P("\n%d %-20s % %d",p->level,p->nama,p->umur);

inorder(p->right);

}

}



void preorder(struct data *p){

if(p==NULL){

return;

}else{



P("\n%d %-20s % %d",p->level,p->nama,p->umur);

preorder(p->left);

preorder(p->left);

}

}



void postorder(struct data *p){

if(p==NULL){

return;

}else{

postorder(p->left);

postorder(p->right);

P("\n%d %-20s % %d",p->level,p->nama,p->umur);

}

}



void pop(struct data *p){

if(root==NULL){

P("\n data tidak ada");

return;

}else if(p==NULL){

P("{\n Nama tidak ada");

return;

}else{

pop(p->left);

pop(p->right);

free(p);

}

}



void popAll(struct data *p){

if(p==NULL){

return;

}else{

popAll(p->left);

popAll(p->right);

free(p);

root=NULL;

}

}



void search(struct data **p,char nama[16]){

if((*p)==NULL){

return;

}else{

if(strcmp(nama,(*p)->nama)left,nama);

}else if(strcmp(nama,(*p)->nama)>0){

search(&(*p)->right,nama);

}else{

pop(*p);

(*p)=NULL;

P("\nNama has been deleted");

}

}

}



void searching(struct data *p,char nama[16]){

if(p==NULL){

return;

}else{

if(strcmp(nama,p->nama)left,nama);

}else if(strcmp(nama,p->nama)>0){

searching(p->right,nama);

}else{

P("\n%d %-20s %d",p->level,p->nama,p->umur);

}

}

}



void menu(){

for(int i=0;i

Reply With Quote