Skip to main content

Contoh program marge sort untuk C++ || Borland C++


    
     Sesuai dengan judulnya kali ini saya akan membagikan Contoh program Marge Sort untuk C++ atau Borland C++, tapi disini saya mengguanakan void untuk penyortirannya,
     langsung saja kalian lihat sourcode dibawah ini :


 #include <stdio.h>
#include <conio.h>
#define MAX 50

void mergeSort(int arr[],int low,int mid,int high);
void partition(int arr[],int low,int high);

int main(){

    int merge[MAX],i,n;

    printf("Masukkan jumlah elemen : ");
    scanf("%d",&n);

    printf("Masukkan elemen yang akan diurutkan : \n");
    for(i=0;i<n;i++){
         scanf("%d",&merge[i]);
    }

    partition(merge,0,n-1);

    printf("Setelah menggabungkan elemen penyortiran: ");
    for(i=0;i<n;i++)
    {
         printf("%d ",merge[i]);
    }

    getch();
}

void partition(int arr[],int low,int high){

    int mid;

    if(low<high){
         mid=(low+high)/2;
         partition(arr,low,mid);
         partition(arr,mid+1,high);
         mergeSort(arr,low,mid,high);
    }
}

void mergeSort(int arr[],int low,int mid,int high){

    int i,m,k,l,temp[MAX];

    l=low;
    i=low;
    m=mid+1;

    while((l<=mid)&&(m<=high)){

         if(arr[l]<=arr[m]){
             temp[i]=arr[l];
             l++;
         }
         else{
             temp[i]=arr[m];
             m++;
         }
         i++;
    }

    if(l>mid){
         for(k=m;k<=high;k++){
             temp[i]=arr[k];
             i++;
         }
    }
    else{
         for(k=l;k<=mid;k++){
             temp[i]=arr[k];
             i++;
         }
    }

    for(k=low;k<=high;k++){
         arr[k]=temp[k];
    }
}


    Tampilan program :

Comments

Popular posts from this blog

Membuat Segitiga dengan "*" dalam Bahasa C/C++

 Dalam pemrograman, mencetak pola seperti segitiga menggunakan karakter * adalah latihan dasar yang sering digunakan untuk memahami konsep perulangan ( loop ). Pada artikel ini, kita akan belajar cara membuat segitiga menggunakan bahasa pemrograman C/C++. Konsep Dasar Kita akan menggunakan perulangan bersarang ( nested loop ) untuk mencetak segitiga. Struktur dasarnya terdiri dari: Loop luar : Mengatur jumlah baris segitiga. Loop dalam pertama : Mencetak spasi untuk merapikan segitiga. Loop dalam kedua : Mencetak karakter * membentuk segitiga. Kode Program dalam C Berikut adalah kode lengkap dalam bahasa C: #include <stdio.h> int main() { int i, j, tinggi; // Meminta pengguna memasukkan tinggi segitiga printf("Masukkan tinggi segitiga: "); scanf("%d", &tinggi); // Loop untuk baris for (i = 1; i <= tinggi; i++) { // Loop untuk mencetak spasi (agar segitiga rata tengah) for (j = 1; j <= tinggi - i; ...

Contoh program radix sort untuk C++ || Borland C++

     Sesuai dengan judulnya kali ini saya akan membagikan Contoh program radix sort untuk C++ atau Borland C++, langsung saja kalian download filenya dibawah ini : DOWNLOAD #include <stdio.h> #include <conio.h> #define MAX 100 #define SHOWPASS void print(int *a, int n) {      int i;      for (i = 0; i < n; i++)       printf("%d\t", a[i]); } void radix_sort(int *a, int n) {      int i, b[MAX], m = 0, exp = 1;      for (i = 0; i < n; i++) {      if (a[i] > m)         m = a[i];  }     while (m / exp > 0)     {         int box[10] = { 0 };         for (i = 0; i < n; i++)             box[a[i] / exp % 10]++;   ...

Contoh program penggabungan dua string untuk C++ || Borland C++

    Sesuai dengan judulnya kali ini saya akan membagiakan program penggabungan atau menyatukan dua buat kata ( string ) menjadi satu kalimat, langsung saja kalian lihat sourcode dibawah ini : #include <stdio.h> #include <string.h> #include <conio.h> void concat(char[], char[]); int main() {    char s1[50], s2[30];    printf("\nMasukkan kata pertama : ");    gets(s1);    printf("\nMasukkan kata kedua : ");    gets(s2);    concat(s1, s2);    printf("\nKalimat yang terbentuk adalah : %s", s1);    getch(); } void concat(char s1[], char s2[]) {    int i, j;    i = strlen(s1);    for (j = 0; s2[j] != '\0'; i++, j++)    {       s1[i] = s2[j];    }    s1[i] = '\0'; }     Tampilan program :