C++ cout.endl() clear the buffer, cout.flush() dont -


problem in ide using - clion 1.2.4 gives incorrect output inside own output window, solved.

following code gives repeating output when working vectors, bigger ~1000, like:

bubblebubble0.265596bubble0.2655960.171889bubble0.2655960.1718890.265644 shell000

if call endl after every output, seems fine:

bubble
0
0.015626
0.015628
shell
0
0
0

but when try clear buffer .flush(), i'm getting same repeating output.

#include <iostream> #include <vector> #include <chrono> #include <algorithm>  using namespace std;  vector<int> type_sort(string type, vector<int>input) {     int n = input.size();      if (type == "bubble") {         for(int = 0; < n; i++)             for(int j = 0; j < n - 1; j++)                 if(input[j] > input[j+1]) {                     swap(input[j], input[j+1]);                 }     }     else if (type == "shell") {         int gap, i, j, temp;         (gap = n/2; gap > 0; gap /= 2)             (i = gap; < n; i++)                 (j = - gap; j >= 0 && input[j] > input[j + gap]; j -= gap) {                     temp = input[j];                     input[j] = input[j + gap];                     input[j + gap] = temp;                 }     }     return input; }  void print_vector(vector<int> input) {     for(int = 0; < input.size(); i+= input.size() / 5) {         cout << input[i] << ",..";     }     cout << endl; }  vector<int> random_vector(int size) {     vector<int> output;     for(int = 0; < size; i++) {         output.push_back(rand() % 20 + 1);     }     return output; }  int main() {     vector<int> numbers = random_vector(5000),                 sorted_numbers,                 reversed_numbers;     sorted_numbers = reversed_numbers = numbers;      sort(sorted_numbers.begin(), sorted_numbers.end());     sort(reversed_numbers.begin(), reversed_numbers.end(), greater<int>());      vector<vector<int>> sort_types = {numbers, sorted_numbers, reversed_numbers};     vector<string> sort_names = {"bubble", "shell"};      chrono::time_point<chrono::system_clock> start_time, end_time;      (int = 0; < 2; i++) {         cout << sort_names[i];         (int j = 0; j < 3; j++) {             start_time = chrono::system_clock::now();             type_sort(sort_names[i], sort_types[j]);             end_time = chrono::system_clock::now();              chrono::duration<double> elapsed_seconds = end_time - start_time;             cout << elapsed_seconds.count();         }         cout << endl;     }     return 0; } 

the problem in ide using - clion 1.2.4 gives incorrect output.

enter image description here

however when ran .exe directly inside explorer (cmd) error has gone.

enter image description here


Comments

Popular posts from this blog

Load Balancing in Bluemix using custom domain and DNS SRV records -

oracle - pls-00402 alias required in select list of cursor to avoid duplicate column names -

python - Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] error -