Kamis, 23 Desember 2010

Mari Belajar Algoritma dan Pemrograman (3)

Hmm.. Kali ini kita akan membuat program yang menggunakan Insertion Sort.
Pada Angka :
int main() {
    int A[5]={20,15,14,2,7}; //nilai dalam array sudah ditentukan
    int i, j , k;
   
    printf("Nilai awal : \n"); //menampilkan nilai awal
    for(i=0; i<5; i++) {
        printf("%d \n", A[i]);
    }
     
    //eksekusi
    for(i=1; i<=5-1; i++) {
        k=A[i]; j=i;
        while(A[j-1]>k && j>0) {
            A[j]=A[j-1];
            j=j-1;
        }
        A[j]=k;
    }

    printf("Setelah eksekusi : \n"); //mrnampilkan hasil
    for(i=0; i<5; i++) {
        printf("%d \n", A[i]);
    }
   
return 1;   
}

Pada Huruf :
int main() {
    char A[5]={'b','l','m','q','a'}; //karakternya sudah diinput
    int i, j , k;
   
    printf("Nilai awal : \n");
    for(i=0; i<5; i++) {
        printf("%c \n", A[i]);
    }
     
    //eksekusi
    for(i=1; i<=5-1; i++) {
        k=A[i]; j=i;
        while(A[j-1]>k && j>0) {
            A[j]=A[j-1];
            j=j-1;
        }
        A[j]=k;
    }

    printf("Setelah eksekusi : \n");
    for(i=0; i<5; i++) {
        printf("%c \n", A[i]);
    }
   
return 1;   
}
Apabila banyaknya inputan/array ditentukan user:
#include

typedef struct{
    char huruf[10];
} kata;

int main() {
    int i, j , k, n, b;
    kata A[n];
   
    printf("Nilai banyak kata : \n");
    scanf("%d", &n);
   
    for(i=0; i
        printf("Masukkan kata : ");
        scanf("%s", &A[i]);
    }
   
    //eksekusi
    for(i=0; i
        for(j=i; j
            k=A[i]; j=i;
            while(A[j-1]>k && j>0) {
                A[j]=A[j-1];
                j=j-1;
            }
            A[j]=k;
        }
    }

    printf("Setelah eksekusi : \n");
    for(i=0; i
        printf("%s \n", A[i]);
    }
   
return 1;   
}
 

0 komentar: