Kamis, 23 Desember 2010

Mari Belajar Algoritma dan Pemrograman (2)

Sekarang kita akan belajar sorting. Jangan lupa sebelum meng-compile programnya, kita path dahulu direktori tempat kita menyimpan program tersebut. Dapat dibaca pada Belajar Algoritma dan Pemograman (1). Kali ini kita akan menggunakan 3 file. Langsung saja lihat soal-soal berikut ini... 
Pertama : Buatlah bubble sort, sorting dan inputan dilakukan pada prosedur.
Source Codenya :
    prosedur.h
#include

void cetak();
void sorting();
void input();
void swaping();

    prosedur.c
#include "prosedur.h"

void cetak(int A[], int n){ //prosedur cetak
int j;
    for(j=1;j<=n;j++){
        printf("A[%d] : %d\n",j,A[j]);
    }
}

void swaping (int A[], int b, int tmp){
    if(A[b]
        tmp=A[b];
        A[b]=A[b-1];
        A[b-1]=tmp;
    }
}

void sorting(int A[], int n){
int a,b,tmp;
    for (a=1;a<=n;a++){
        for(b=n;b>=(a+1);b--){
            swaping(A,b,tmp);
            }
        }
}

void input(int A[],int n){ //prosedur input
int i;
    printf("masukan data \n");
    for(i=1;i<=n;i++){
        printf("A[%d] : ",i);
        scanf("%d",&A[i]);
    }
}
 
    main.c
#include "prosedur.h"

int main(){

int n;
printf("masukan banyak array : ");
scanf("%d",&n);

int A[n];  //pemanggilan prosedur
input(A,n);
printf("\n");

sorting(A,n);
printf("\n");

cetak(A,n);
printf("\n");

swaping(A,n);

return 1;
}

Kedua : Lakukan sorting seperti no. 1 tapi menggunakan karakter
Source Codenya :
    kar.h
#include

typedef struct{ //tipe bentukan untuk array huruf
char isi[2];
} huruf ;

void urut();
void tampil();
void input();
 
    kar.c
#include "kar.h"

void urut(huruf* A,int n){  //pengurutan
    int i,k ;
    huruf temp[10];

    for (i=0 ; i < n ; i ++){
        for (k = n-1 ; k >= i ; k--){
            if (strcmp (A[k].isi , A[k-1].isi ) == -1 ){
                temp[i] = A[k] ;
                A[k] = A[k-1] ;
                A[k-1] = temp[i] ;
            }
        }
    }
}

void tampil(huruf* A,int n){ //prosedur tampil
    int i;
    for (i=0 ; i < n; i++) {
        printf("Karakter ke-%d : %s \n", i+1, A[i].isi);
    }
}

void input(huruf* A, int i){ //prosedure input
    printf("Karakter ke-%d : ",i+1);
    scanf("%s",&A[i].isi);
}
  
    mainkar.c
#include "kar.h"

int main() {
    int n,i ;

    printf("Masukkan banyak karakter : ");
    scanf ("%d",&n);

    int A[n];

    for (i=0; i

        input(A,i);
    }

    urut(A,n);
    printf("\n");
    printf("Setelah diurutkan menjadi : \n");
    tampil(A,n);

return 1;
Ketiga : Sama seperti no. 2 tapi karakter yang diurutkan dari kalimat yang diinputkan dengan spasi dihilangkan.
Source Codenya :

0 komentar: