rakha asyrofi
/
KNN_coba5
coba perbaikilah
main.cpp@0:fd1ea8f7606d, 2018-04-15 (annotated)
- Committer:
- asyrofi
- Date:
- Sun Apr 15 07:06:12 2018 +0000
- Revision:
- 0:fd1ea8f7606d
coba perbaiki;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
asyrofi | 0:fd1ea8f7606d | 1 | #include "mbed.h" |
asyrofi | 0:fd1ea8f7606d | 2 | #include <iostream> |
asyrofi | 0:fd1ea8f7606d | 3 | #include "conio.h" |
asyrofi | 0:fd1ea8f7606d | 4 | #include "Serial.h" |
asyrofi | 0:fd1ea8f7606d | 5 | Serial uart1(USBTX,USBRX); |
asyrofi | 0:fd1ea8f7606d | 6 | |
asyrofi | 0:fd1ea8f7606d | 7 | int main() |
asyrofi | 0:fd1ea8f7606d | 8 | { |
asyrofi | 0:fd1ea8f7606d | 9 | uart1.baud(9600); |
asyrofi | 0:fd1ea8f7606d | 10 | wait(0.1); |
asyrofi | 0:fd1ea8f7606d | 11 | iint i,j,l; |
asyrofi | 0:fd1ea8f7606d | 12 | int tsc=12; |
asyrofi | 0:fd1ea8f7606d | 13 | char gen[12]={'F','M','F','F','F','M','F','M','M','F','M','F'}; |
asyrofi | 0:fd1ea8f7606d | 14 | float h[12]={1.6f,2.0f,1.9f,1.88f,1.7f,1.85f,1.6f,1.7f,2.2f,1.8f,1.95f,1.9f}; |
asyrofi | 0:fd1ea8f7606d | 15 | char op[12][10]={"short","tall","medium","medium","short","medium","short","short","tall","medium","medium","medium"}; |
asyrofi | 0:fd1ea8f7606d | 16 | |
asyrofi | 0:fd1ea8f7606d | 17 | uart1.printf("\n Initial Set:"); |
asyrofi | 0:fd1ea8f7606d | 18 | uart1.printf("\nGender\tHeight\tOutput"); |
asyrofi | 0:fd1ea8f7606d | 19 | for(i=0;i<12;i++) |
asyrofi | 0:fd1ea8f7606d | 20 | { |
asyrofi | 0:fd1ea8f7606d | 21 | uart1.printf("%d, %d, %d \n",gen[i], h[i], op[i]); |
asyrofi | 0:fd1ea8f7606d | 22 | } |
asyrofi | 0:fd1ea8f7606d | 23 | |
asyrofi | 0:fd1ea8f7606d | 24 | float nh; |
asyrofi | 0:fd1ea8f7606d | 25 | char ng; |
asyrofi | 0:fd1ea8f7606d | 26 | uart1.printf("\n Enter tuple to be processed (Height,Gender) :"); |
asyrofi | 0:fd1ea8f7606d | 27 | cin>>nh>>ng; |
asyrofi | 0:fd1ea8f7606d | 28 | |
asyrofi | 0:fd1ea8f7606d | 29 | int t; |
asyrofi | 0:fd1ea8f7606d | 30 | uart1.printf("\n Enter threshold:"); |
asyrofi | 0:fd1ea8f7606d | 31 | cin>>t; |
asyrofi | 0:fd1ea8f7606d | 32 | |
asyrofi | 0:fd1ea8f7606d | 33 | float d[12][2],k; |
asyrofi | 0:fd1ea8f7606d | 34 | |
asyrofi | 0:fd1ea8f7606d | 35 | //calculating distance to each value in training set |
asyrofi | 0:fd1ea8f7606d | 36 | for(i=0;i<12;i++) |
asyrofi | 0:fd1ea8f7606d | 37 | { |
asyrofi | 0:fd1ea8f7606d | 38 | d[i][0]=i; |
asyrofi | 0:fd1ea8f7606d | 39 | k=h[i]-nh; |
asyrofi | 0:fd1ea8f7606d | 40 | if(k<0) |
asyrofi | 0:fd1ea8f7606d | 41 | { |
asyrofi | 0:fd1ea8f7606d | 42 | d[i][1]=-k; |
asyrofi | 0:fd1ea8f7606d | 43 | } |
asyrofi | 0:fd1ea8f7606d | 44 | else |
asyrofi | 0:fd1ea8f7606d | 45 | { |
asyrofi | 0:fd1ea8f7606d | 46 | d[i][1]=k; |
asyrofi | 0:fd1ea8f7606d | 47 | } |
asyrofi | 0:fd1ea8f7606d | 48 | } |
asyrofi | 0:fd1ea8f7606d | 49 | |
asyrofi | 0:fd1ea8f7606d | 50 | //Sorting |
asyrofi | 0:fd1ea8f7606d | 51 | for(i=0;i<11;i++) |
asyrofi | 0:fd1ea8f7606d | 52 | { |
asyrofi | 0:fd1ea8f7606d | 53 | for(j=0;j<11;j++) |
asyrofi | 0:fd1ea8f7606d | 54 | { |
asyrofi | 0:fd1ea8f7606d | 55 | if(d[j][1]>d[j+1][1]) |
asyrofi | 0:fd1ea8f7606d | 56 | { |
asyrofi | 0:fd1ea8f7606d | 57 | k=d[j][1]; |
asyrofi | 0:fd1ea8f7606d | 58 | d[j][1]=d[j+1][1]; |
asyrofi | 0:fd1ea8f7606d | 59 | d[j+1][1]=k; |
asyrofi | 0:fd1ea8f7606d | 60 | |
asyrofi | 0:fd1ea8f7606d | 61 | l=d[j][0]; |
asyrofi | 0:fd1ea8f7606d | 62 | d[j][0]=d[j+1][0]; |
asyrofi | 0:fd1ea8f7606d | 63 | d[j+1][0]=l; |
asyrofi | 0:fd1ea8f7606d | 64 | } |
asyrofi | 0:fd1ea8f7606d | 65 | } |
asyrofi | 0:fd1ea8f7606d | 66 | } |
asyrofi | 0:fd1ea8f7606d | 67 | |
asyrofi | 0:fd1ea8f7606d | 68 | int nos=0; //no of shorts |
asyrofi | 0:fd1ea8f7606d | 69 | int nom=0; //no of mediums |
asyrofi | 0:fd1ea8f7606d | 70 | int not=0; //no of talls |
asyrofi | 0:fd1ea8f7606d | 71 | |
asyrofi | 0:fd1ea8f7606d | 72 | uart1.printf("\nGender\tHeight\tOutput\n"); |
asyrofi | 0:fd1ea8f7606d | 73 | for(i=0;i<t;i++) |
asyrofi | 0:fd1ea8f7606d | 74 | { |
asyrofi | 0:fd1ea8f7606d | 75 | l=d[i][0]; |
asyrofi | 0:fd1ea8f7606d | 76 | uart1.printf("%d, %d, %d\n",gen[l],h[l],op[l]); |
asyrofi | 0:fd1ea8f7606d | 77 | if(strcmp(op[l],"short")==0) |
asyrofi | 0:fd1ea8f7606d | 78 | { |
asyrofi | 0:fd1ea8f7606d | 79 | nos++; |
asyrofi | 0:fd1ea8f7606d | 80 | } |
asyrofi | 0:fd1ea8f7606d | 81 | if(strcmp(op[l],"medium")==0) |
asyrofi | 0:fd1ea8f7606d | 82 | { |
asyrofi | 0:fd1ea8f7606d | 83 | nom++; |
asyrofi | 0:fd1ea8f7606d | 84 | } |
asyrofi | 0:fd1ea8f7606d | 85 | if(strcmp(op[l],"tall")==0) |
asyrofi | 0:fd1ea8f7606d | 86 | { |
asyrofi | 0:fd1ea8f7606d | 87 | not++; |
asyrofi | 0:fd1ea8f7606d | 88 | } |
asyrofi | 0:fd1ea8f7606d | 89 | } |
asyrofi | 0:fd1ea8f7606d | 90 | |
asyrofi | 0:fd1ea8f7606d | 91 | uart1.printf("\n No of shorts:")<<nos; |
asyrofi | 0:fd1ea8f7606d | 92 | uart1.printf("\n No of medium:")<<nom; |
asyrofi | 0:fd1ea8f7606d | 93 | uart1.printf("\n No of tall:")<<not; |
asyrofi | 0:fd1ea8f7606d | 94 | |
asyrofi | 0:fd1ea8f7606d | 95 | if(nos>nom&&nos>not) |
asyrofi | 0:fd1ea8f7606d | 96 | { |
asyrofi | 0:fd1ea8f7606d | 97 | uart1.printf("\n New Tuple is classified as Short"); |
asyrofi | 0:fd1ea8f7606d | 98 | } |
asyrofi | 0:fd1ea8f7606d | 99 | |
asyrofi | 0:fd1ea8f7606d | 100 | if(nom>nos&&nom>not) |
asyrofi | 0:fd1ea8f7606d | 101 | { |
asyrofi | 0:fd1ea8f7606d | 102 | uart1.printf("\n New Tuple is classified as Medium"); |
asyrofi | 0:fd1ea8f7606d | 103 | } |
asyrofi | 0:fd1ea8f7606d | 104 | |
asyrofi | 0:fd1ea8f7606d | 105 | if(not>nom&¬>nos) |
asyrofi | 0:fd1ea8f7606d | 106 | { |
asyrofi | 0:fd1ea8f7606d | 107 | uart1.printf("\n New Tuple is classified as Tall"); |
asyrofi | 0:fd1ea8f7606d | 108 | } |
asyrofi | 0:fd1ea8f7606d | 109 | |
asyrofi | 0:fd1ea8f7606d | 110 | getch(); |
asyrofi | 0:fd1ea8f7606d | 111 | } |
asyrofi | 0:fd1ea8f7606d | 112 | |
asyrofi | 0:fd1ea8f7606d | 113 |