Jumat, 21 Maret 2014

Program Tree



#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
#include<iomanip.h>
typedef struct node *simpul;
struct node
{
int isi;
simpul KANAN;
simpul KIRI;
};
void sisip_tree(simpul &tree,int elemen);
void Jumlah(simpul &tree,int &jumlah,float &rata,int banyak);

main()
{
 simpul Tree=NULL;
  int ANGKA,i,jumlah=0;
  float rata;
  for(i=0;i<11;i++)
  {
  cout<<"Masukkan Nilai = ";cin>>ANGKA;
  sisip_tree(Tree,ANGKA);
   }
    Jumlah(Tree,jumlah,rata,i);
    cout<<endl<<endl;

   cout<<"Jumlah ="<<jumlah;

   cout<<"\nRata-Rata ="<<rata;

getch();
}

void Jumlah(simpul &tree,int &jumlah,float &rata,int banyak)
{

     if(tree != NULL)
     {
           Jumlah(tree->KIRI,jumlah,rata,banyak);
         jumlah=jumlah+tree->isi;
         Jumlah(tree->KANAN,jumlah,rata,banyak);
      }
      rata=(float)jumlah/banyak;
}
 void sisip_tree(simpul &tree,int elemen)
{
 simpul baru;
 if(tree==NULL)
     {
     baru=(simpul) malloc(sizeof(simpul));
      baru->isi=elemen;
      baru->KANAN=NULL;
      baru->KIRI=NULL;
      tree=baru;
   }
   else
     {
           if(elemen > tree->isi )
           sisip_tree(tree->KANAN,elemen);
         else if(elemen < tree->isi)
           sisip_tree(tree->KIRI,elemen);
         else
           cout<<" Data "<<elemen<<" Sudah Ada... ";
      }
}

 

Tidak ada komentar: