Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Nama : Ahmad Lamaul Farid
- // NRP : 05111940000134
- // Kelas : Matematika Diskrit A
- #include <iostream>
- #include <algorithm>
- using namespace std;
- // fungsi untuk mencari modus pada suatu list bilangan acak
- int getmode(int listnum[], int mode[], int currNow, int size, int k, int *n){
- int getA = 0, getB = 0;
- while (currNow == listnum[k])
- {
- getA++;
- k++;
- if (k == size)
- {
- mode[*n] = listnum[k-1];
- return getA;
- }
- }
- getB = getmode(listnum, mode, listnum[k], size, k, n);
- if (getA > getB)
- {
- if(*n!=0 && mode[*n-1]!=listnum[k-1])
- mode[*n-1] = listnum[k-1];
- mode[*n] = listnum[k-1];
- }
- else if (getA < getB)
- return getB;
- else if (getA == getB)
- {
- if(*n==0 && mode[*n]==0)
- mode[*n] = listnum[k-1];
- else
- mode[++*n] = listnum[k-1];
- }
- return getA;
- }
- // fungsi utama untuk menampilkan modus yang dipanggil pada fungsi getmode
- int main(){
- int list[] = {2, 2, 2, 2, 3, 5, 3, 3};
- int sizeList = sizeof(list) / sizeof(list[0]);
- sort(list,list+sizeList);
- if (sizeList == 1)
- cout<< list[0];
- else
- {
- int n=0;
- int modus[5] ={0};
- getmode(list, modus,list[0], sizeList, 0, &n);
- n=0;
- while (modus[n] != 0)
- {
- cout << "mode = "<< modus[n]<< "\n";
- n += 1;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement