vlatkovski

Sortiranje

Aug 21st, 2016
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. map<char, int> vrd;
  5.  
  6. struct ime {
  7.     string s;
  8.     double v;
  9.     ime(string _s) {
  10.         s = _s;
  11.         v = f();
  12.     }
  13.     double f() {
  14.         double r = 0;
  15.         for (int i = 0; i < s.length(); ++i) {
  16.             r += vrd[s.at(i)];
  17.         }
  18.         r = r / s.length();
  19.         return r;
  20.     }
  21. };
  22.  
  23. bool imeF(const ime &i1, const ime &i2) {
  24.     return i1.v < i2.v;
  25. }
  26.  
  27. int main() {
  28.     {
  29.         string s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  30.         for (int i = 0; i < 26; ++i) vrd[s.at(i)] = i+1;
  31.     }
  32.     int n; cin >> n;
  33.     vector<ime> iminja;
  34.     for (int i = 0; i < n; ++i) {
  35.         string s; cin >> s;
  36.         iminja.push_back(ime(s));
  37.     }
  38.  
  39.     sort(iminja.begin(), iminja.end(), imeF);
  40.     //
  41.     for (int i = 0; i < iminja.size(); ++i) {
  42.         cout << iminja[i].s << endl;
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment