Fungsi rekursif dapat digunakan pada beberapa kasus, termasuk sortir.
Sortir yang dilakukan dapat dilakukan dari yang lebih kecil ke yang lebih besar, ataupun sebaliknya, dari yang lebih besar ke yang lebih kecil.
Berikut adalah contoh kode programnya.
Sortir yang dilakukan dapat dilakukan dari yang lebih kecil ke yang lebih besar, ataupun sebaliknya, dari yang lebih besar ke yang lebih kecil.
Berikut adalah contoh kode programnya.
/*
Nama : Tulus Pardamean Simanjuntak
NIM : 49012086
Jurusan : Teknik Media Digital
File : 4_mengurutkan.c
*/
#include <stdio.h>
#include <stdlib.h>
void mengurutkan (int *tIntA, int *tIntB);
int main()
{
int tListAngka[20];
int tSwap;
int tUrutan;
int i;
int pil;
printf ("\n\t - Program Pengurutan (Sortir) -\n");
printf ("=================================================\n\n");
printf ("Masukkan jumlah elemen> \n");
scanf ("%d", &i);
printf ("\nMasukkan %d angka integer\n", i);
for (tUrutan = 0; tUrutan < i; tUrutan++)
scanf ("%d", &tListAngka[tUrutan]);
do
{
tSwap = 0;
for (tUrutan = 0; tUrutan < i; tUrutan++)
{
if (tListAngka[tUrutan] < tListAngka[tUrutan+1])
{
mengurutkan (&tListAngka[tUrutan], &tListAngka[tUrutan+1]);
tSwap = 1;
}
}
} while (tSwap == 1);
printf ("\nIngin diurut bagaimana?\n");
printf ("1: Kecil ke Besar\n");
printf ("2: Besar ke Kecil\n\n");
printf ("pilihan Anda? >>> ");
scanf ("%d", &pil);
if (pil == 1)
{
printf ("\n\nSetelah di urut dari Kecil ke Besar:\n");
for (tUrutan = i-1; tUrutan >= 0; tUrutan--)
{
printf ("%d\n", tListAngka[tUrutan]);
}
}
else
{
printf ("\n\nSetelah di urut dari Besar ke Kecil:\n");
for (tUrutan = 0; tUrutan < i; tUrutan++)
{
printf ("Urutan [%d] = %d\n", tUrutan+1, tListAngka[tUrutan]);
}
}
printf ("\n");
system ("pause");
return 0;
}
void mengurutkan (int *tIntA, int *tIntB)
{
int tInt = *tIntA;
*tIntA = *tIntB;
*tIntB = tInt;
}
Semoga bermanfaat. :)
No comments:
Post a Comment