Program ini adalah contoh script untuk mencari modus dengan menggunakan c++.
1. #include<iostream.h>
2. #include<conio.h>
3. int x;
4. void findmod(float bil[], int n, float mod[])
5. {
6. int total[100];
7. int k=1;
8. x=0;
9. //untuk mengurutkan secara ascending
10. for(int c=0;c<n;c++)
11. {
12. for(int i=(n-1);i>=0;i--)
13. {
15. {
16. int temp;
17. temp=bil[i];
18. bil[i]=bil[i-1];
19. bil[i-1]=temp;
20. }
21. }
22. }
23. //menghitung berapa kali muncul tiap
angka
24. for(int c=0;c<n;c++)
25. {
26. total[c]=0;
27. for(int i=0;i<n;i++)
28. {
29. if(bil[c]==bil[i])
30. {
31. total[c]++;
32. }
33. }
34. }
35. //menentukan nilai yang paling sering
muncul
36. for(int c=0;c<n;c++)
37. {
38. if(total[c]>k)
39. {
40. k=total[c];
41. }
42. }
43. //jika modus lebih dari satu
44. for(int c=0;c<n;c++)
45. {
46. if(x==0)
47. mod[x]=0;
48. else
49. mod[x]=mod[x-1];
50. if(total[c]==k)
51. {
52. if(bil[c]!=mod[x])
53. {
54. mod[x]=bil[c];
55. x++;
56. }
57. }
58. }
59.
60. //Jika Semua angka muncul sama banyak
61. int z=0;
62. for(int c=0;c<n;c++)
63. {
64. if(total[c]==k)
65. {
66. z++;
67. }
68. }
69. if(z==n)
70. {
71. x=0;
72. }
73. }
74. void main()
75. {
76. int n;
77. float bil[100];
78. float mod[100];
79. cout<<"Banyak N : ";cin>>n;
80. for(int c=0;c<n;c++)
81. {
82. cout<<"Nilai "<<(c+1)<<" : ";cin>>bil[c];
83. }
84. cout<<endl;
85. findmod(bil,n,mod);
86. if (x==0)
87. cout<<"Tidak Ada Modus!"<<endl;
88. else
89. {
90. cout<<"Modus : ";
91. for(int c=0;c<x;c++)
92. {
93. cout<<mod[c]<<" ";
94. }
95. }
96. getch();
97. }
msj
0 comments:
Post a Comment