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