Wednesday, 20 January 2016

Latihan 7 (Fungsi #2)

Share it Please


1. Definisikanlah function untuk menentukan bilangan terbesar dari 2 bilangan yang diinputkan di main(). Function mempunyai parameter berupa 2 buah bilangan yang akan dibandingkan dan memberikan  return value berupa bilangan yang terbesar.  Sertakan pula prototype function tsb.

·         Listing Program

#include <stdio.h>

int terbesar (int, int);

main()
{
    int a, b, hasil=0;

    printf("Masukkan bilangan ke-1 : ");
    scanf("%d", &a);
    printf("Masukkan bilangan ke-2 : ");
    scanf("%d", &b);

    terbesar (a, b);
}

int terbesar (int a, int b)
{
    int temp;

    if (a<b)
    {
        temp = b;
        b = a;
        a = temp;
    }
        printf("Bilanagan terbesar adalah : %d dan bilangan terkecil %d \n \n", a,          b);

        return 0;
}

·         Capture :

            



2. Buatlah suatu fungsi  permutasi() dan kombinasi() untuk menghitung permutasi dan kombinasi dari suatu pasangan bilangan, yang dinyatakan dengan formula: 

·         Listing Program

#include <stdio.h>

int permutasi (int, int);
int kombinasi (int, int);

main()
{
    int n=0, r=0;

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

    printf("\n");

    printf("<---PERMUTASI--->\n");
    printf("Hasil permutasi : %d \n\n", permutasi (n, r));

    printf("<---KOMBINASI--->\n");
    printf("Hasil kombinasi : %d \n", kombinasi (n, r));
}

int permutasi (int n, int r)
{
    int hasil1=1, hasil2=1, hasil3, x, y, z;

    //n!//
    for (x=1; x<=n; x++)
    {
        hasil1 *= x;
    }
    printf("n! = %d\n", hasil1);

    //(n-r)!//
    z=n-r;
    for (y=1; y<=z; y++)
    {
        hasil2 *= y;
    }
    printf("(n-r)! = %d\n", hasil2);

    hasil3 = hasil1/hasil2;
    return (hasil3);
}

int kombinasi (int n, int r)
{
    int hasil1=1, hasil2=1, hasil3=1, hasil4, x, y, z, a;

    //n!//
    for (x=1; x<=n; x++)
    {
        hasil1 *= x;
    }
    printf("n! = %d\n", hasil1);

    //r!//
    for (a=1; a<=r; a++)
    {
        hasil2 *= a;
    }
    printf("r! = %d\n", hasil2);

    //(n-r)!//
    z=n-r;
    for (y=1; y<=z; y++)
    {
        hasil3 *= y;
    }
    printf("(n-r)! = %d\n", hasil3);

    hasil4 = hasil1/(hasil2*hasil3);

    return (hasil4);
}

·         Capture:


 


3. Buatlah sebuah fungsi untuk mengubah dua bilangan masukan, masing-masing dinaikkan dengan 2.   Masukan dilakukan di main().  Selanjutnya tampilkan hasil akhir bilangan setelah dirubah di main(). Gunakan pass by reference !
           
·         Listing Program

#include <stdio.h>

void tambahdua(int *px, int *py);

main()
{

    int a,b;

    printf("Masukkan nilai a : "); scanf("%d", &a);
    printf("Masukkan nilai b : "); scanf("%d", &b);

    tambahdua(&a,&b);

    printf("\nHasil nilai ditambah 2\n");
    printf("a = %d b = %d\n", a, b);
}

void tambahdua(int *px, int *py)
{
    *px+=2;
    *py+=2;
}

·         Capture :

 

1 comment:

Followers

Follow The Author