Lompat ke konten Lompat ke sidebar Lompat ke footer

Program Mengurutkan Kartu dengan Bahasa C

program c++, c++ download, bahasa c++, contoh c++, contoh program c++.


Pada kesempatan kali ini kita akan  berbagi program mengurutkan kartu dengan C, spesifikasi programnya adalah sebagai berikut:
  • Program / Aplikasi dapat mengurutkan kartu sesuai jumlah kartu yang di input.
  • Program dapat mengurutkan kartu berdasarkan jenis kartu maupun nilai / angka dari sebuah kartu.
  • Seandainya kartu diurutkan berdasarkan jenis, maka kartu akan di urutkan secara Ascending dari jenis kriting, gentong, wajik, hati (case sensitive).
  • Seandainya pengurutan kartu berdasarkan jenis, dan jenis kartu sama maka setelah diurutkan berdasarkan jenis akan diurutkan berdasarkan angka.
  • Seandainya kartu diurutkan berdasarkan angka, maka kartu di urutkan secara Ascending dari as, 2, 3, 4, 5, 6, 7, 8, 9, 10, j, q, k.
  • Seandainya pengurutan kartu berdasarkan angka, dan angka kartu sama maka setelah diurutkan berdasarkan angka akan diurutkan berdasarkan jenis.
  • Program dapat mengurutkan dengan 4 metode (Selection Sort, Insert  Sort, Merge  Sort dan Quick Sort)
  • Program dapat mencari kartu dengan nilai tertinggi maupun terrendah dan mengetahui posisi kartu yang dicari.
  • Program dapat melakukan Searcing terhadapat sebuah kartu dan menghasilkan letak dari kartu yang dicari.


Berikut coding dari programnya:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define max 52

typedef struct
{
    char jenis[max][10];
    char angka[max][5];
}kartu;

int konvert_jns(kartu remi,int cari);
int konvert_angka(kartu remi,int cari);
void cetak_data(kartu remi,int batas);
void isi_data(kartu *remi,int batas);
void selectionJ (kartu *remi,int array[max],int array2[max],int batas);
void selectionN (kartu *remi,int array[max],int array2[max],int batas);
void insertJ (kartu *remi,int array[max],int array2[max],int batas);
void insertN (kartu *remi,int array[max],int array2[max],int batas);
void quickJ(kartu *remi,int array[max],int array2[max],int fist,int last);
void quickN(kartu *remi,int array[max],int array2[max],int fist,int last);
void searcing(kartu remi,int n,char carij[10],char caria[10]);
void maxx(kartu remi,int array[max],int array2[max],int n);
void minn(kartu remi,int array[max],int array2[max],int n);
void mergeJ(kartu *remi,int array[max],int array2[max],int low,int mid,int high);
void mergeN(kartu *remi,int array[max],int array2[max],int low,int mid,int high);
void partitionJ(kartu *remi,int array[max],int array2[max],int low,int high);
void partitionN(kartu *remi,int array[max],int array2[max],int low,int high);

main()
{
    int jml,pilih,pilih2,i;
    char carij[10],caria[10];
    kartu remi;

    int tampung_jns[max],tampung_angka[max];

    printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n");
    printf("= = = = =             Program Mengurutkan Kartu           = = = = =\n");
    printf("::::::::::kriting::::::::gentong::::::::wajik::::::::hati::::::::::\n\n");

    printf("Ingin mengurutkan berapa kartu : ");scanf("%d",&jml);
    isi_data(&remi,jml);
    cetak_data(remi,jml);

    printf("\n\nIngin Mengurutkan Kartu Berdasarkan\n");
    printf("1. Jenis \n2. Angka");
    printf("\nPilihan : ");scanf("%d",&pilih);
    printf("\ningin anda urutkan berdasarkan metode apa");
    printf("\n1.selection 2.insertsort 3.mergesort 4.quicksort 5.maxmin 6.searc");
    printf("\nPilihan : ");scanf("%d",&pilih2);

    for(i=0;i<jml;i++)
    {
        tampung_jns[i]=konvert_jns(remi,i);
        tampung_angka[i]=konvert_angka(remi,i);
    }


    if(pilih==1&&pilih2==1)
    {
        selectionJ (&remi,tampung_jns,tampung_angka,jml);
        cetak_data(remi,jml);
    }
    if(pilih==2&&pilih2==1)
    {
        selectionN (&remi,tampung_jns,tampung_angka,jml);
        cetak_data(remi,jml);
    }
    if(pilih==1&&pilih2==2)
    {
        insertJ (&remi,tampung_jns,tampung_angka,jml);
        cetak_data(remi,jml);
    }
    if(pilih==2&&pilih2==2)
    {
        insertN (&remi,tampung_jns,tampung_angka,jml);
        cetak_data(remi,jml);
    }
    if(pilih==1&&pilih2==3)
    {
        partitionJ(&remi,tampung_jns,tampung_angka,0,jml-1);
        cetak_data(remi,jml);
    }
    if(pilih==2&&pilih2==3)
    {
        partitionN(&remi,tampung_jns,tampung_angka,0,jml-1);
        cetak_data(remi,jml);
    }
    if(pilih==1&&pilih2==4)
    {
        quickJ(&remi,tampung_jns,tampung_angka,0,jml-1);
        cetak_data(remi,jml);
    }
    if(pilih==2&&pilih2==4)
    {
        quickN(&remi,tampung_jns,tampung_angka,0,jml-1);
        cetak_data(remi,jml);
    }
    if(pilih==1&&pilih2==5)
    {
        maxx(remi,tampung_jns,tampung_angka,jml);
        minn(remi,tampung_jns,tampung_angka,jml);
    }
    if(pilih==2&&pilih2==5)
    {
        maxx(remi,tampung_jns,tampung_angka,jml);
        minn(remi,tampung_jns,tampung_angka,jml);
    }
    if(pilih==1&&pilih2==6)
    {
        printf("\nmasukkan katru yang inngin anda cari\njenisnya : ");scanf("%s",carij);
        printf("angkanya : ");scanf("%s",caria);
        searcing(remi,jml,carij,caria);
    }
    if(pilih==2&&pilih2==6)
    {
        printf("\nmasukkan katru yang inngin anda cari\njenisnya : ");scanf("%s",carij);
        printf("angkanya : ");scanf("%s",caria);
        searcing(remi,jml,carij,caria);
    }


return 0;
}


int konvert_angka(kartu remi,int cari)
{
        if(strcmp(remi.angka[cari],"as")==0)
        return 1;
        else if(strcmp(remi.angka[cari],"2")==0)
        return 2;
        else if(strcmp(remi.angka[cari],"3")==0)
        return 3;
        else if(strcmp(remi.angka[cari],"4")==0)
        return 4;
        else if(strcmp(remi.angka[cari],"5")==0)
        return 5;
        else if(strcmp(remi.angka[cari],"6")==0)
        return 6;
        else if(strcmp(remi.angka[cari],"7")==0)
        return 7;
        else if(strcmp(remi.angka[cari],"8")==0)
        return 8;
        else if(strcmp(remi.angka[cari],"9")==0)
        return 9;
        else if(strcmp(remi.angka[cari],"10")==0)
        return 10;
        else if(strcmp(remi.angka[cari],"j")==0)
        return 11;
        else if(strcmp(remi.angka[cari],"q")==0)
        return 12;
        else if(strcmp(remi.angka[cari],"k")==0)
        return 13;
}
int konvert_jns(kartu remi,int cari)
{
        if(strcmp(remi.jenis[cari],"kriting")==0)
        return 1;
        else if(strcmp(remi.jenis[cari],"gentong")==0)
        return 2;
        else if(strcmp(remi.jenis[cari],"wajik")==0)
        return 3;
        else if(strcmp(remi.jenis[cari],"hati")==0)
        return 4;
}

void isi_data(kartu *remi,int batas)
{
    int i,a,b;
    for(i=0;i<batas;i++)
    {
        printf("\nkartu %d \n",i+1);
        printf("jenis : ");scanf("%s",&(*remi).jenis[i]);
        printf("angka : ");scanf("%s",&(*remi).angka[i]);
        for(a=0;a<=i+1;)
        {
            if(((strcmp((*remi).jenis[i],"kriting")==0)||(strcmp((*remi).jenis[i],"gentong")==0)||(strcmp((*remi).jenis[i],"wajik")==0)||(strcmp((*remi).jenis[i],"hati")==0))
               &&((strcmp((*remi).angka[i],"as")==0)||(strcmp((*remi).angka[i],"2")==0)||(strcmp((*remi).angka[i],"3")==0)||(strcmp((*remi).angka[i],"4")==0)
                  ||(strcmp((*remi).angka[i],"5")==0)||(strcmp((*remi).angka[i],"6")==0)||(strcmp((*remi).angka[i],"7")==0)||(strcmp((*remi).angka[i],"8")==0)
                  ||(strcmp((*remi).angka[i],"9")==0)||(strcmp((*remi).angka[i],"10")==0)||(strcmp((*remi).angka[i],"j")==0)||(strcmp((*remi).angka[i],"q")==0)
                  ||(strcmp((*remi).angka[i],"k")==0)))
                  {
                        a=a+i+1;
                  }
            else
            {
                printf("\nmasukkan kembali kartu ke %d \n",i+1);
                printf("jenis : ");scanf("%s",&(*remi).jenis[i]);
                printf("angka : ");scanf("%s",&(*remi).angka[i]);
                a=0;
            }
        }
        for(b=0;b<i;)
        {
            if(strcmp((*remi).angka[i],(*remi).angka[b])==0&&strcmp((*remi).jenis[i],(*remi).jenis[b])==0)
            {
                printf("\nmasukkan kembali kartu ke %d \n",i+1);
                printf("jenis : ");scanf("%s",&(*remi).jenis[i]);
                printf("angka : ");scanf("%s",&(*remi).angka[i]);
                b=0;
            }
            else{b++;}
        }
    }
}

void cetak_data(kartu remi,int batas)
{
    int i;
    for(i=0;i<batas;i++)
    {
        printf("\nkartu %d\n",i+1);
        printf("(%s , %s)",remi.jenis[i],remi.angka[i]);
    }
}

void quickJ(kartu *remi,int array[max],int array2[max],int first,int last)
{
    int pivot,j,i;
    char tempj[10];
    char tempa[10];
    int temp0;
    int temp00;

    if(first<last)
    {
        pivot=first;//pivot = 0
        i=first;//i = 0,1 //first = 0
        j=last;//j = 3

         while(i<j)
         {
             while(array[i]<=array[pivot]&&i<last)
                 i++;
             while(array[j]>array[pivot])
                 j--;
             if(i<=j)
            {
                        strcpy(tempj,(*remi).jenis[i]);
                        strcpy((*remi).jenis[i],(*remi).jenis[j]);
                        strcpy((*remi).jenis[j],tempj);
                        //=======================================
                        strcpy(tempa,(*remi).angka[i]);
                        strcpy((*remi).angka[i],(*remi).angka[j]);
                        strcpy((*remi).angka[j],tempa);
                        //=======================================
                        temp0=array[i];
                        array[i]=array[j];
                        array[j]=temp0;
                        //=======================================
                        temp00=array2[i];
                        array2[i]=array2[j];
                        array2[j]=temp00;
             }
         }
         //---------------------------------------------------

        strcpy(tempj,(*remi).jenis[pivot]);
        strcpy((*remi).jenis[pivot],(*remi).jenis[j]);
        strcpy((*remi).jenis[j],tempj);
        //=======================================
        strcpy(tempa,(*remi).angka[pivot]);
        strcpy((*remi).angka[pivot],(*remi).angka[j]);
        strcpy((*remi).angka[j],tempa);
        //=======================================
        temp0=array[pivot];
        array[pivot]=array[j];
        array[j]=temp0;
        //=======================================
        temp00=array2[pivot];
        array2[pivot]=array2[j];
        array2[j]=temp00;
         //---------------------------------------------------
        quickJ(remi,array,array2,first,j-1);
        quickJ(remi,array,array2,j+1,last);
    }
}


void quickN(kartu *remi,int array[max],int array2[max],int first,int last)
{
    int pivot,j,i,u;
    char temp[10];
    int temp0;

    if(first<last)
    {
         pivot=first;//pivot = 0
         i=first;//i = 0,1 //first = 0
         j=last;//j = 3
         int temp0;

         while(i<j)
         {
             while(array2[i]<=array2[pivot]&&i<last)
                 i++;
             while(array2[j]>array2[pivot])
                 j--;
             if(i<j)
            {
                        strcpy(temp,(*remi).jenis[i]);
                        strcpy((*remi).jenis[i],(*remi).jenis[j]);
                        strcpy((*remi).jenis[j],temp);
                        //=======================================
                        strcpy(temp,(*remi).angka[i]);
                        strcpy((*remi).angka[i],(*remi).angka[j]);
                        strcpy((*remi).angka[j],temp);
                        //=======================================
                        temp0=array2[i];
                        array2[i]=array2[j];
                        array2[j]=temp0;
                        //=======================================
                        temp0=array[i];
                        array[i]=array[j];
                        array[j]=temp0;
             }
         }
         //---------------------------------------------------

        strcpy(temp,(*remi).jenis[pivot]);
        strcpy((*remi).jenis[pivot],(*remi).jenis[j]);
        strcpy((*remi).jenis[j],temp);
        //=======================================
        strcpy(temp,(*remi).angka[pivot]);
        strcpy((*remi).angka[pivot],(*remi).angka[j]);
        strcpy((*remi).angka[j],temp);
        //=======================================
        temp0=array2[pivot];
        array2[pivot]=array2[j];
        array2[j]=temp0;
        //=======================================
        temp0=array[pivot];
        array[pivot]=array[j];
        array[j]=temp0;
         //---------------------------------------------------
        quickN(remi,array,array2,first,j-1);
        quickN(remi,array,array2,j+1,last);
    }
}


void selectionJ (kartu *remi,int array[max],int array2[max],int batas)
{
    int i,j;
    char temp[10];
    int temp0;

    for(i=0;i<batas-1;i++)
    {
        for(j=i+1;j<batas;j++)
        {
            if(array[i]==array[j] && array2[i] > array2[j]) //jika jenis sama, maka diurutkan berdasarkan angkanya
            {
                strcpy(temp,(*remi).jenis[i]);
                strcpy((*remi).jenis[i],(*remi).jenis[j]);
                strcpy((*remi).jenis[j],temp);
                //=======================================
                strcpy(temp,(*remi).angka[i]);
                strcpy((*remi).angka[i],(*remi).angka[j]);
                strcpy((*remi).angka[j],temp);
                //=======================================
                temp0=array[i];
                array[i]=array[j];
                array[j]=temp0;
                //=======================================
                temp0=array2[i];
                array2[i]=array2[j];
                array2[j]=temp0;
            }
            else if(array[i]==array[j] && array2[i] < array2[j])
            {
                //do nothing
            }
            else if(array[i]>array[j]) //jika jenisnya beda,maka diurutkan tanpa melihat angka
            {
                strcpy(temp,(*remi).jenis[i]);
                strcpy((*remi).jenis[i],(*remi).jenis[j]);
                strcpy((*remi).jenis[j],temp);
                //=======================================
                strcpy(temp,(*remi).angka[i]);
                strcpy((*remi).angka[i],(*remi).angka[j]);
                strcpy((*remi).angka[j],temp);
                //=======================================
                temp0=array[i];
                array[i]=array[j];
                array[j]=temp0;
                //=======================================
                temp0=array2[i];
                array2[i]=array2[j];
                array2[j]=temp0;

            }
            else if(array[i]<array[j])
            {
                //do nothing
            }
        }
    }
}


void selectionN (kartu *remi,int array[max],int array2[max],int batas)
{
    int i,j;
    char temp[10];
    int temp0;

    for(i=0;i<batas-1;i++)
    {
        for(j=i+1;j<batas;j++)
        {
            if(array2[i]==array2[j] && array[i] > array[j])
            {
                strcpy(temp,(*remi).jenis[i]);
                strcpy((*remi).jenis[i],(*remi).jenis[j]);
                strcpy((*remi).jenis[j],temp);
                //=======================================
                strcpy(temp,(*remi).angka[i]);
                strcpy((*remi).angka[i],(*remi).angka[j]);
                strcpy((*remi).angka[j],temp);
                //=======================================
                temp0=array2[i];
                array2[i]=array2[j];
                array2[j]=temp0;
                //=======================================
                temp0=array[i];
                array[i]=array[j];
                array[j]=temp0;
            }
            else if(array2[i]==array2[j] && array[i] < array[j])
            {
                //do nothing
            }
            else if(array2[i]>array2[j])
            {
                strcpy(temp,(*remi).jenis[i]);
                strcpy((*remi).jenis[i],(*remi).jenis[j]);
                strcpy((*remi).jenis[j],temp);
                //=======================================
                strcpy(temp,(*remi).angka[i]);
                strcpy((*remi).angka[i],(*remi).angka[j]);
                strcpy((*remi).angka[j],temp);
                //=======================================
                temp0=array2[i];
                array2[i]=array2[j];
                array2[j]=temp0;
                //=======================================
                temp0=array[i];
                array[i]=array[j];
                array[j]=temp0;

            }
            else if(array2[i]<array2[j])
            {
                //do nothing
            }
        }
    }
}

void insertJ (kartu *remi,int array[max],int array2[max],int batas)
{
    int i,j;
    char temp[10];
    char temp2[10];
    int temp0;
    int temp00;

    for(i=1;i<batas;i++)
    {
        strcpy(temp,(*remi).jenis[i]);
        temp0=array[i];
        strcpy(temp2,(*remi).angka[i]);
        temp00=array2[i];
        j=i-1;
        while((temp0<array[j])&&(j>=0))
        {
            strcpy((*remi).jenis[j+1],(*remi).jenis[j]);
            strcpy((*remi).angka[j+1],(*remi).angka[j]);
            array[j+1]=array[j];
            array2[j+1]=array2[j];
            j=j-1;
        }
        strcpy((*remi).jenis[j+1],temp);
        strcpy((*remi).angka[j+1],temp2);
        array[j+1]=temp0;
        array2[j+1]=temp00;
    }
}



void insertN (kartu *remi,int array[max],int array2[max],int batas)
{
    int i,j;
    char temp[10];
    char temp2[10];
    int temp0;
    int temp00;

    for(i=1;i<batas;i++)
    {
        strcpy(temp,(*remi).jenis[i]);
        temp0=array[i];
        strcpy(temp2,(*remi).angka[i]);
        temp00=array2[i];
        j=i-1;
        while((temp00<array2[j])&&(j>=0))
        {
            strcpy((*remi).jenis[j+1],(*remi).jenis[j]);
            strcpy((*remi).angka[j+1],(*remi).angka[j]);
            array[j+1]=array[j];
            array2[j+1]=array2[j];
            j=j-1;
        }
        strcpy((*remi).jenis[j+1],temp);
        strcpy((*remi).angka[j+1],temp2);
        array[j+1]=temp0;
        array2[j+1]=temp00;
    }
}

void searcing(kartu remi,int n,char carij[10],char caria[10])
{
    int i;
    int umpan=0;
    for (i=0;i<n;i++)
    {
        if((strcmp(remi.jenis[i],carij)==0)&&(strcmp(remi.angka[i],caria)==0))
        {
            if (umpan==0)
            {
                printf("\n\nkartu yang anda cari ada");
                printf("\njenis kartu : %s",remi.jenis[i]);
                printf("\nangka kartu  : %s",remi.angka[i]);
                printf("\nletak kartu di urutan ke : %d",i+1);
                umpan=umpan+1;
            }
            else
            {
                //tidak mengerjakan apa-apa
            }
        }
        else if (umpan==0 && i==n-1)
        {
            printf("\n\nmaaf kartu yang anda cari tidak ada");
            printf("\njenis kartu yang di cari : %s",carij);
            printf("\nangka kartu yang di cari : %s",caria);
        }
    }
}


void maxx(kartu remi,int array[max],int array2[max],int n)
{
    int i,j;
    char tempJA[10];//nampung jenis kartu yang max
    char tempAA[10];//nampung angka kartu yang max
    int nilaiJA;//nampung nilai jenis kartu yang max
    int nilaiAA;//nampung nilai angka kartu yang max
    int urutan;

    nilaiJA=1;
    nilaiAA=0;

    for(j=0;j<n;j++)
    {
        if(nilaiJA<array[j])
        {
            strcpy(tempJA,remi.jenis[j]);
            strcpy(tempAA,remi.angka[j]);
            nilaiJA=array[j];
            nilaiAA=array2[j];
            urutan=j;
        }
        else if(nilaiJA==array[j]&&nilaiAA<array2[j])
        {
            strcpy(tempJA,remi.jenis[j]);
            strcpy(tempAA,remi.angka[j]);
            nilaiJA=array[j];
            nilaiAA=array2[j];
            urutan=j;
        }
        else if(nilaiJA>array[j])
        {

        }
    }

    printf("\nKARTU MAX nya adalah : ");
    printf("(%s , %s ==> kartu berada di urutan ke %d)",tempJA,tempAA,urutan+1);
}

void minn(kartu remi,int array[max],int array2[max],int n)
{
    int i,j;
    char tempJI[10];//nampung jenis kartu yang min
    char tempAI[10];//nampung angka kartu yang min
    int nilaiJI;//nampung nilai jenis kartu yang min
    int nilaiAI;//nampung nilai angka kartu yang min
    int urutan;

    nilaiJI=4;
    nilaiAI=13;

    for(j=0;j<n;j++)
    {
        if(nilaiJI>array[j])
        {
            strcpy(tempJI,remi.jenis[j]);
            strcpy(tempAI,remi.angka[j]);
            nilaiJI=array[j];
            nilaiAI=array2[j];
            urutan=j;
        }
        else if(nilaiJI==array[j]&&nilaiAI>array2[j])
        {
            strcpy(tempJI,remi.jenis[j]);
            strcpy(tempAI,remi.angka[j]);
            nilaiJI=array[j];
            nilaiAI=array2[j];
            urutan=j;
        }
        else if(nilaiJI<array[j])
        {

        }
    }

    printf("\nKARTU MIN nya adalah : ");
    printf("(%s , %s ==> kartu berada di urutan ke %d)",tempJI,tempAI,urutan+1);

}


void mergeJ(kartu *remi,int array[max],int array2[max],int low,int mid,int high)
{
    int i,m,k,l;
    char temp[max];
    l=low;
    i=low;
    m=mid+1;

    while((l<=mid)&&(m<=high))
    {
         if(array[l]<=array[m])
         {
             temp[i]=array[l];
             strcpy((*remi).jenis[l],(*remi).jenis[i]);
             strcpy((*remi).angka[l],(*remi).angka[i]);
             array[l]=array[i];
             array2[l]=array2[i];
             l++;
         }
         else
         {
             temp[i]=array[m];
             strcpy((*remi).jenis[i],(*remi).jenis[m]);
             strcpy((*remi).angka[i],(*remi).angka[m]);
             array[i]=array[m];
             array2[i]=array2[m];
             m++;
         }
         i++;
    }

    if(l>mid)
    {
         for(k=m;k<=high;k++)
         {
             temp[i]=array[k];
             strcpy((*remi).jenis[i],(*remi).jenis[k]);
             strcpy((*remi).angka[i],(*remi).angka[k]);
             array[i]=array[k];
             array2[i]=array2[k];
             i++;
         }
    }
    else
    {
         for(k=l;k<=mid;k++)
         {
             temp[i]=array[k];
             strcpy((*remi).jenis[i],(*remi).jenis[k]);
             strcpy((*remi).angka[i],(*remi).angka[k]);
             array[i]=array[k];
             array2[i]=array2[k];
             i++;
         }
    }

    for(k=low;k<=high;k++)
    {
        array[k]=temp[k];
    }
}
void mergeN(kartu *remi,int array[max],int array2[max],int low,int mid,int high)
{
    int i,m,k,l;
    char temp[max];
    l=low;
    i=low;
    m=mid+1;

    while((l<=mid)&&(m<=high))
    {
         if(array2[l]<=array2[m])
         {
            temp[i]=array2[l];
            strcpy((*remi).angka[l],(*remi).angka[i]);
            strcpy((*remi).jenis[l],(*remi).jenis[i]);
            array2[l]=array2[i];
            array[l]=array[i];
            l++;
         }
         else
         {
             temp[i]=array2[m];
             strcpy((*remi).angka[i],(*remi).angka[m]);
             strcpy((*remi).jenis[i],(*remi).jenis[m]);
             array2[i]=array2[m];
             array[i]=array[m];
             m++;
         }
         i++;
    }

    if(l>mid)
    {
         for(k=m;k<=high;k++)
         {
             temp[i]=array2[k];
             strcpy((*remi).angka[i],(*remi).angka[k]);
             strcpy((*remi).jenis[i],(*remi).jenis[k]);
             array2[i]=array2[k];
             array[i]=array[k];
             i++;
         }
    }
    else
    {
         for(k=l;k<=mid;k++)
         {
             temp[i]=array2[k];
             strcpy((*remi).angka[i],(*remi).angka[k]);
             strcpy((*remi).jenis[i],(*remi).jenis[k]);
             array2[i]=array2[k];
             array[i]=array[k];
             i++;
         }
    }

    for(k=low;k<=high;k++)
    {
        array2[k]=temp[k];
    }
}
void partitionJ(kartu *remi,int array[max],int array2[max],int low,int high)
{
    int mid;

    if(low<high)
    {
         mid=(low+high)/2;
         partitionJ(remi,array,array2,low,mid);
         partitionJ(remi,array,array2,mid+1,high);
         mergeJ(remi,array,array2,low,mid,high);
    }
}
void partitionN(kartu *remi,int array[max],int array2[max],int low,int high)
{
    int mid;

    if(low<high)
    {
         mid=(low+high)/2;
         partitionJ(remi,array,array2,low,mid);
         partitionJ(remi,array,array2,mid+1,high);
         mergeJ(remi,array,array2,low,mid,high);
    }
}


apabila anda ingin mempelajari pemrograman berbasis C, silakan klik: Kumpulan Program Bahasa C


Program Mengurutkan Kartu dengan C
MARKIJAR : MARi KIta belaJAR

Posting Komentar untuk "Program Mengurutkan Kartu dengan Bahasa C"