c++ - Organise output data according to an order -


i organise output of following code. please advise on how can procede.

stringstream ss;  (i = 0; < vecdb.size(); i++) {     (j = 0; j < vecuser.size(); j++) {         if (vecdb[i].accesslevel == vecuser[j].accesslevel) {             ss << vecuser[j].accesslevel << endl;         } else if (vecdb[i].accesslevel < vecuser[j].accesslevel) {             ss << vecuser[j].accesslevel << endl;         } else if (vecuser[j].accesslevel < vecdbi].accesslevel) {             ss << vecuser[j].accesslevel << endl;         }     } }  cout << ss.str(); 

current output

level0 level3 level2 level4 level0 level0 level1 level4 level2 level3 

desired output

level0 level0 level0 level1 level2 level2 level3 level3 level4 level4 

first of all, logic messed up:

  • if vecuser[j] == vecdbi[i] output vecuser[j].accesslevel
  • if vecuser[j] < vecdbi[i] output vecuser[j].accesslevel
  • if vecuser[j] > vecdbi[i] output vecuser[j].accesslevel
  • if nothing of above output vecuser[j].accesslevel

no matter output vecuser[j].accesslevel.

in other words can replace this:

if (vecdb[i].accesslevel == vecuser[j].accesslevel) {     ss << vecuser[j].accesslevel << endl; } else if (vecdb[i].accesslevel < vecuser[j].accesslevel) {     ss << vecuser[j].accesslevel << endl; } else if (vecuser[j].accesslevel < vecdbi].accesslevel) {     ss << vecuser[j].accesslevel << endl; } 

with following , still same result.

ss << vecuser[j].accesslevel << endl; 

i don't know want achieve logic, it's broken.


if wish output strings in order why not sort them?

std::vector<std::string> sorted{std::begin(vecuser), std::end(vecuser)}; std::sort(std::begin(sorted), std::end(sorted));  (const auto& s : sorted) {     std::cout << s << std::endl; } 

Comments

Popular posts from this blog

ios - UICollectionView Self Sizing Cells with Auto Layout -

node.js - ldapjs - write after end error -

DOM Manipulation in Wordpress (and elsewhere) using php -