berikut ini source code untuk mencari nilai modus (nilai data yang paling sering muncul) dari n buah data, silahkan dicermati :
/**-----------------------------.
Program Modus dengan bahasa C |
Diprogram oleh : pemrogram |
------------------------------**/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define _MY_DEBUG
#if defined(_MY_DEBUG)
#define TRACE_LINE printf("\n1. Line : %d\n2. File : %s\n",__LINE__,__FILE__);
#else
#define TRACE_LINE
#endif
#define MAX 20
#define DELAY 10000000
#define INPUT 'i'
#define OUTPUT 'o'
#define TRUE 1
#define FALSE 0
typedef struct {
int number, sigma;
} Data;
typedef struct {
int count;
Data* data;
} List;
int InList(List, int),
Modus(int*, int),
ChoosePivot(int, int);
void UpdateList(List*, int),
AppendtoList(List*, int),
InputOutput(int*, int, const char),
QuickSort(int*, int, int),
// SelectionSort(int*, int),
Swap(int*, int*),
Delay(void),
FreeBuffer(int*);
int main(int argc, char *argv[]) {
system("COLOR 5");
int *buffer, n;
printf("Masukkan banyak data : ");
scanf("%d",&n);
fflush(stdin);
if((n > FALSE) && (n <= MAX)) {
buffer = (int*)calloc(n,sizeof(int));
InputOutput(buffer,n,INPUT);
printf("\n1. Data yang anda masukkan : ");
InputOutput(buffer,n,OUTPUT);
QuickSort(buffer,FALSE,(n-TRUE)); // FALSE = 0;
// SelectionSort(buffer,n);
printf("\n2. Data setelah disorting : ");
InputOutput(buffer,n,OUTPUT);
printf("\n3. Modus : %d\n",Modus(buffer,n));
}
FreeBuffer(buffer);
getch();
return(EXIT_SUCCESS);
}