Selasa, 03 Mei 2011

Contoh Searchin Array pada C++


Searching ARRAY
Sequential Search
#include <stdio.h>
#include <stdlib.h>

int main () {
                int nilai[] = {50, 70, 45, 80, 95, 72, 85};
                int jumlahArray = sizeof (nilai) / sizeof(int);
                int cari;
                bool isKetemu = false;

                printf ("Masukkan nilai yang ingin Anda cari ; "); scanf("%i", &cari);
                for (int index = 0; index < jumlahArray; index++) {
                                if (nilai[index] == cari) {
                                                isKetemu = true;
                                                break;
                                }
                }

                if (isKetemu) {
                                printf ("\Data yang Anda cari ditemukan pada index ke-%i.\n\n", index);
                } else {
                                printf ("\nData yang Anda cari tidak ditemukan.\n\n");
                }

                system ("pause");
                return 0;
}

Sequential Search dalam bentuk Fungsi
#include <stdio.h>
#include <stdlib.h>

int cariData (int nilai[], int jumlahArray, int cari);
int main () {
                int nilai[] = {50, 70, 45, 80, 95, 72, 85};
                int jumlahArray = sizeof (nilai) / sizeof(int);
                int cari;
                bool isKetemu = false;

                printf ("Masukkan nilai yang ingin Anda cari ; "); scanf("%i", &cari);
                int index = cariData (nilai, jumlahArray, cari);

                if (index >= 0) {
                                printf ("\Data yang Anda cari ditemukan pada index ke-%i.\n\n", index);
                } else {
                                printf ("\nData yang Anda cari tidak ditemukan.\n\n");
                }

                system ("pause");
                return 0;
}

int cariData (int nilai[], int jumlahArray, int cari) {
                for (int index = 0; index < jumlahArray; index++) {
                                if (nilai[index] == cari) {
                                                return index;
                                }
                }
                return -1;
}

Binary Seach
#include <stdio.h>
#include <stdlib.h>

int cariData (int nilai[], int jumlahArray, int cari);
int main () {
                int nilai[] = {2, 8, 11, 15, 19, 21, 33, 45, 63, 90};
                int jumlahArray = sizeof (nilai) / sizeof(int);
                int cari = 0, index = 0, depan = 0, tengah = 0;
                int belakang = jumlahArray - 1;

                printf ("Masukkan nilai yang ingin Anda cari ; "); scanf("%i", &cari);
                while ( belakang >= depan ){
                                tengah = (depan + belajang) / 2;
                                if ( cari < nilai[tengah]) {
                                                belakang = tengah - 1;
                                } else if ( cari > nilai[tengah]) {
                                                depan = tengah + 1;
                                } else {
                                                index = tengah;
                                                depan = belakang + 1;
                                }
                }
                printf ("\n");
               
                if (index >= 0) {
                                printf ("\Data yang Anda cari ditemukan pada index ke-%i.\n\n", index);
                } else {
                                printf ("\nData yang Anda cari tidak ditemukan.\n\n");
                }

                system ("pause");
                return 0;
}
                               

Tidak ada komentar:

Posting Komentar