| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #include <iostream>
- #include <string>
- #include <map>
- using namespace std;
- int main()
- {
- map<char, int> soundex;
- string word;
- soundex['B'] = 1;
- soundex['F'] = 1;
- soundex['P'] = 1;
- soundex['V'] = 1;
- soundex['C'] = 2;
- soundex['G'] = 2;
- soundex['J'] = 2;
- soundex['K'] = 2;
- soundex['Q'] = 2;
- soundex['S'] = 2;
- soundex['X'] = 2;
- soundex['Z'] = 2;
- soundex['D'] = 3;
- soundex['T'] = 3;
- soundex['L'] = 4;
- soundex['M'] = 5;
- soundex['N'] = 5;
- soundex['R'] = 6;
- while(cin >> word)
- {
- char last = 0;
- for(char c : word)
- {
- if(soundex.find(c) != soundex.end())
- {
- if(last != soundex[c])
- {
- cout << soundex[c];
- }
- last = soundex[c];
- }
- else
- {
- last = 0;
- }
- }
- cout << endl;
- }
- return 0;
- }
|