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

javascript - How to get current YouTube IDs via iMacros? -

c# - Maintaining a program folder in program files out of date? -

emulation - Android map show my location didn't work -