Selasa, 11 November 2014

Contoh Program Struct bahasa C

/********************
   Dede Krisna Friansyah
   *******************/

#include <stdio.h>

struct person{
    char nama[20];
    char jk[1];
    int berat;
    int tinggi;
};

int main() {
    int jum_pasien, i, ideal;
    printf("Form Data Pasien\n");
    printf("================\n");
    printf("Jumlah pasien: ");scanf("%d", &jum_pasien);
    printf("\n");
    struct person x[jum_pasien];
    char nama;

    for(i=0; i<jum_pasien; i++) {
        printf("Nama   :  ");scanf("%20s", x[i].nama);
        printf("Jns_klm:  ");scanf("%1s", x[i].jk);
        printf("Berat  :  ");scanf("%d", &x[i].berat);
        printf("Tinggi :  ");scanf("%d", &x[i].tinggi);
        printf("\n");
    }

    printf("\nDaftar Peserta Program Diet\n");
    printf("---------------------------------------\n");
    printf("Nama\tL/P\tBerat\tTinggi\tIdeal\n");
    printf("---------------------------------------\n");
    for(i=0; i<jum_pasien; i++) {
        if(x[i].jk == 'L') {
            ideal = (x[i].tinggi - 100) * 0.9;
        } else {
            ideal = (x[i].tinggi - 100) * 0.8;
        }
        printf("%s\t%s\t%d\t%d\t%d\n", x[i].nama, x[i].jk, x[i].berat, x[i].tinggi, ideal);
    }
    printf("---------------------------------------\n");

}

Menghapus Data Array bahasa C

/********************
   Dede Krisna Friansyah
   *******************/

#include <stdio.h>

int main() {
    int x [] = {2, 12, 6, 12, 12, 7, 6, 12};
    int len_x, i, data_hapus, jum_hapus=0;
    // panjang array
    len_x = sizeof(x) / sizeof(int);

    for(i=0; i<len_x; i++) {
        printf("%d ", x[i]);
    }
    printf("\nData yang akan dihapus: ");
    scanf("%d", &data_hapus);

    printf("\nData %d berhasil dihapus!\n", data_hapus);

    printf("\nData Sekarang:\n");
    for(i=0; i<len_x; i++) {
        if(x[i] == data_hapus) {
            jum_hapus = jum_hapus + 1;
        } else {
            printf("%d ", x[i]);
        }
    }
    printf("\nJumlah data yang dihapus: %d\n", jum_hapus);
    return 0;
}

Matrik dan transpose bahasa C

/********************
    Dede Krisna Friansyah
   *******************/
#include <stdio.h>

int main() {
    int m, n, i, j;
    printf("Dimensi Matrik (m x n): ");scanf("%d %d", &m, &n);
    int A[m][n];
    for(i=0; i<m; i++) {
        for(j=0; j<n; j++) {
            printf("A[%d][%d] = ", i, j);scanf("%d", &A[i][j]);
        }
    }
    printf("\nMatriks A:\n");
    printf("----------\n");
    for(i=0; i<m; i++) {
        for(j=0; j<n; j++) {
            printf("%3d", A[i][j]);
        }
        printf("\n");
    }

    printf("\nTranspose Matriks A:\n");
    printf("----------\n");
    for(i=0; i<n; i++) {
        for(j=0; j<m; j++) {
            printf("%3d", A[j][i]);
        }
        printf("\n");
    }

    return 0;
}

Pointer Array bahasa C



/*
Nama : Dede Krisna F.S
NPM : 13312059
*/
#include<stdio.h>
#include<conio.h>
            int main(){
            //variabel "bil" untuk inputan jumalah bilangan dan "i" untuk variabel counter
            int bil,i;
            printf("Masukan Jumlah bilangan : ");
            scanf("%d",&bil);
            //variabel "nil[bil]" variabel array yg berjumlah sesuai dengan inputan bilangan dari                         variabel "bil"
            int nil[bil];
            //perulangan untuk penginputan isi array dengan variabel "nil[bil]"
            for(i=1;i<=bil;i++){
                        printf("%d> ",i);
                        scanf("%d",&nil[i]);
            }
            /*
            "*ptr" sebagai pointer bertipe integer
            "max" untuk variabel nilai terbesar
            "min" untuk variabel nilai terkecil
            "sum" untuk variabel jumlah total nilai
            "avg" untuk variabel rata-rata nilai
            "ptrr" sebagai pointer bertipe float
            */
            int *ptr,max,min,sum;
            float *ptrr,avg;
            //pemberian nilai awal pada sum dan avg
            sum=0;
            avg=0;
            //perulangan untuk menjumlahkan total nilai
            for(i=1;i<=bil;i++){
                        sum += nil[i];
            }
            //proses untuk mencari rata-rata
            avg = sum/bil;
            /*
            penunjukan untuk ptr sama dengan sum yang artinya ptr sekarang bernilai sum
            penunjukan untuk ptrr sama dengan avg yang artinya ptrr sekarang bernilai avg
            */
            ptr=&sum;
            ptrr=&avg;
            //menampilkan sum dan avg dengan pointer *ptr menunjuk ke sum dan ptrr menunjuk ke   avg
            printf("\nSUM : %d",*ptr);
            printf("\nAVG : %.2f",*ptrr);
            //memberikan nilai pada max dan min sebagai patokan untuk mecari hasil max dan min
            max=nil[1];
            min=nil[1];
            //perulangan untuk mencari nilai max dan min
            for(i=1;i<=bil;i++){
            /*
            percabangan if untuk menentukan nilai max dan min
            jika nil pertama lebih besar dari max maka max sama dengan nil pertama
            jika nil kedua lebih besar dari max maka max sama dengan nil kedua
            begitu seterusnya sampai perulangannya selesai dan max akan memunculkan nilai   terbesar
            sedangkan untuk else if
            jika nil pertama lebih kecil dari min maka min sama dengan nil pertama
            begitu seterusnya hingga perulangan selesai dan min memunculkan nilai terkecil
            */
                        if(nil[i]>=max){
                                    max=nil[i];
                        }
                        else if (nil[i]<=min){
                                    min=nil[i];
                        }
            }
            /*
            penunjukan untuk ptr sama dengan max yang artinya ptr sekarang bernilai max
            dan menampilkan dengan pontier yang menujuk ke max
            */
            ptr=&max;
            printf("\nMAX : %d",*ptr);
            /*
            penunjukan untuk ptr sama dengan min yang artinya ptr sekarang bernilai min
            dan menampilkan dengan pontier yang menujuk ke min
            */
            ptr=&min;
            printf("\nMIN : %d",*ptr);
           
           
            getch();
}