Program Penginputan, Pengurutan, Penampilan Data, serta Pencarian Data dengan cara Bagi Dua (Binary Search)

#include <stdio.h>
#include <conio.h>
#define maks=10
void pemasukan_data(float x[], int *pjumlah);
void pengurutan_data(float x[], int jumlah);
void penampilan_data(float x[], int jumlah);
       typedef int LarikInt [Nmaks+1] ;
       void BinarySearch2 (LarikInt L, int n, int x, int *idx);
 
main()
{    clrscr();
int jum_data, type_data, dataq [10], data1, data2, data3 ;
float data [10];
      pemasukan_data(data, &jum_data);
pengurutan_data(data, jum_data);
      penampilan_data(data, jum_data);
      BinarySearch2 (dataq, data1, data2, &data3);
      getch();
      return 0;
}
 
void pemasukan_data(float x[], int *pjumlah)
{
 int i, jum;
 {printf("Jumlah Data : "); scanf("%d", &jum); fflush(stdin); }
 for (i=0;i<jum;i++)
 { printf("Data ke-%d : ", i+1); scanf("%f", &x[i]); fflush(stdin);}
 *pjumlah=jum;
}
 
void pengurutan_data(float x[], int jumlah)
{
int i, j;  float smtr;
for (i=0; i<jumlah-1; i++)
   for (j=i+1; j<jumlah ; j++)
    if (x[i] > x[j])
     {
      smtr=x[i];
      x[i]=x[j];
      x[j]=smtr; }
}
void penampilan_data(float x[], int jumlah)
{
 int i; printf("\n");
 puts("Data Setelah Diurutkan : ");
      for (i=0;i<jumlah;i++)
                              printf("%2.f\n", x[i]);
}
 
void BinarySearch2 (LarikInt L, int n, int x, int *idx)
{
  typedef enum{true=1, false=0} boolean;
  int i,j,k;
  boolean ketemu;
  i=1;
  j=n;
  ketemu=false;
  while (!ketemu && i<=j)
  {
            k=(i+j)/2;
            if (L[k]==x)
                        ketemu=true;
            else if (L[k]>1)
                        i=k+1;
else
                         j=k-1;
   }
if (ketemu)
      *idx=k;
else
      *idx=-1;
printf("Masukan Nilai yang akan dicari :"); scanf("%d", &data);
printf("Nilai %d ada di indeks : %d", data, data3);
}
 
 
 
Output      :
      Jumlah Data : (mis 3)
      Data ke-1 : 23
      Data ke-1 : 17
      Data ke-1 : 76
      Data Setelah Diurutkan :
      17
      23
      76
Masukan Nilai yang akan dicari : (mis 23)
Nilai 23 ada di indeks : 2
Format Lainnya : PDF | Google Docs | English Version
Diposting pada : Senin, 09 April 12 - 13:06 WIB
Dalam Kategori : ALGORITMA DAN STUTUR DATA II, TUGAS ALGORITMA, STRUKTUR DATA 2
Dibaca sebanyak : 1533 Kali
Tidak ada komentar pada blog ini...
Anda harus Login terlebih dahulu untuk mengirim komentar
Facebook Feedback