Kamis, 10 Maret 2011

PROGRAM ASCENDING & DESCENDING

#include <stdio.h>//mengaktifkan perintah printf, scanf, dan for#include <conio.h>//mengaktifkan perintah clrscr (clear screen)

int angka[10];//array
int t,pilihan,milih;//variabel

void asc()//fungsi dari menu ascending
{
printf("\nHasil selection sort ascending\n\n");
for (int i=0;i<10-1;i++)       //proses selection sorting ascending
{
for (int j=i+1;j<10;j++)
{
if (angka[i]>angka[j])   //tanda > menandakan ascending
{
t=angka[i];           //penukaran nilai menggunakan variabel t sebagai perantara
angka[i]=angka[j];
angka[j]=t;
}
}



printf("%5d",angka[i]);     //mencetak array angka[i] secara ascending
}
printf("\n\nBalik ke menu lagi gan? (y/t)");
}
void desc()//fungsi dari menu descending
{
printf("\nHasil selection sort descending\n\n");
for (int i=0;i<10-1;i++)       //proses selection sorting descending
{
for (int j=i+1;j<10;j++)
{
if (angka[i]<angka[j])   //tanda < menandakan descending
{
t=angka[i];           //penukaran nilai menggunakan variabel t sebagai perantara
angka[i]=angka[j];
angka[j]=t;
}
}
printf("%5d",angka[i]);  //mencetak array angka[i] secara descending
}
printf("\n\nBalik ke menu lagi gan? (y/t)");
}

void descGenap()//fungsi dari menu genap ke ganjil (descending)
{
printf("\nHasil setelah diurutkan dari genap ke ganjil (descending)\n\n");
for(int i=0;i<10-1;i++)        //proses selection sorting descending
{
for(int j=i+1;j<=10;j++)
{
if(angka[i]<angka[j])    //tanda < menandakan descending
{
t=angka[i];           //penukaran nilai menggunakan variabel t sebgai perantara
angka[i]=angka[j];
angka[j]=t;
}
}
}
for(i=0;i<=10-1;i++)
{
if(angka[i]%2==0)           /*apabila array angka[i] dibagi 2 = 0 maka
 bilangan tersebut adalah bil genap
dan akan akan dicetak terlabih dahulu*/
{
printf("%5d",angka[i]);
}
}
for(i=0;i<=10-1;i++)
{
if(angka[i]%2!=0)           /*apabila array angka[i] dibagi 2 tidak = 0 maka
 bilangan tersebut adalah bilangan ganjil
dan akan dicetak setelah bil genap*/
{
printf("%5d",angka[i]);
}
}
printf("\n\nBalik ke menu lagi gan? (y/t)");
}
void ascGanjil()//fungsi dari menu ganjil ke genap (ascending)
{
printf("\nHasil setelah diurutkan dari ganjil ke genap (ascending)\n\n");
for(int i=0;i<10-1;i++)         //proses selection sorting ascending
{
for(int j=i+1;j<=10;j++)
{
if(angka[i]>angka[j])     //tanda > menandakan ascending
{
t=angka[i];            //penukaran nilai menggunakan variabel t sebgai perantara
angka[i]=angka[j];
angka[j]=t;
}
}
}
for(i=0;i<=10-1;i++)
{
if(angka[i]%2==1)            /*apabila array angka[i] dibagi 2 = 1 maka
 bilangan tersebut adalah bil ganjil
dan akan akan dicetak terlabih dahulu*/
{
printf("%5d",angka[i]);
}
}
for(i=0;i<=10-1;i++)
{
if(angka[i]%2!=1)            /*apabila array angka[i] dibagi 2 tidak = 1 maka
 bilangan tersebut adalah bilangan genap
dan akan dicetak setelah bil ganjil*/
{
printf("%5d",angka[i]);
}
}
printf("\n\nBalik ke menu lagi gan? (y/t)");
}
void menu()
{
printf("MENU :\n");
printf("1. Ascending\n");
printf("2. Descending\n");
printf("3. Genap ke ganjil (descending)\n");
printf("4. Ganjil ke genap (ascending)\n");

printf("Masukkan pilihan (1/2/3/4) : ");
scanf("%d",&pilihan);           //memberi inputan pada alamat variabel pilihan

switch (pilihan)                //perintah switch yang digunakan untuk memilih menu
{
case 1:asc();break;          //memanggil funsi asc
case 2:desc();break;         //memanggil funsi desc
case 3:descGenap();break;    //memanggil funsi descGenap
case 4:ascGanjil();break;    //memanggil funsi ascGanjil
default:printf("\nOra onoooooooooooo!!! Baleni milih wae pie? (y/t)");
}
}
void main()
{
printf("Input 10 angka : \n");
for (int i=0;i<10;i++)          //membuat 10 data untuk diinput
{
printf("Angka ke - %d : ",i+1);
scanf("\n%d",&angka[i]);     //memberi inputan kepada alamat array angka[i]
}
menu();                         //memanggil fungsi menu
scanf("%s",&milih);             //memberi inputan pada alamat variabel milih
if (milih=='y')                 /*struktur kendali apabila milih = y maka
akan melakukan perulangan do while dibawah*/
{
do
{
clrscr();                 //menghapus layar sebelumnya
menu();                   //memanggil fungsi menu
scanf("%s",&milih);       //memberi inputan pada alamat variabel milih
}
while (milih=='y');     /*perulangan untuk mengulang perintah diatas
secara terus menerus apabila milih = y*/
}
if (milih=='t')                 /*struktur kendali dimana milih = t maka akan
melakukan perintah
 printf dibawah (menyelesaikan program)*/
{
printf("\nBALI WAE KONO !!");
}
}

Tidak ada komentar:

Posting Komentar