Напишите функцию collate<char>::compare(), которая работает согласно словарному упорядочению. Сделайте это для языков, вроде французского или немецкого, в которых букв больше чем в английском.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include <iostream> using std::cout; using std::endl; #include <string> using std::string; int compare(string s1,string s2) { if(s1.size()>s2.size()) return 1; else if(s1.size()<s2.size()) return -1; else if(s1.size()==s2.size()) { for(int i=0;i<s2.size();i++) { if(s1[i]==s2[i]) continue; else if(s1[i]>s2[i])return 1; else if(s1[i]<s2[i])return 0; } } } int main() { cout <<compare("hellow","world")<<endl; return 0; } |
[youtube]https://www.youtube.com/watch?v=upiq9Vm_DIg[/youtube]