31Май/100
Сортировка обменом (метод "пузырька")
void buble_sort(int mArray[], int mArr_size) { for(int i = 1; i < mArr_size; i++) for (int k = i; (k >= 1) && (mArray[k] < mArray[k-1]); k--) std::swap(mArray[k],mArray[k-1]); }
31Май/100
Сортировка вставками (включением)
void insertSort(int a[], int size) { int x, i, j; for (i = 1; i < size; i++) // цикл проходов, i - номер прохода { x = a[i]; // сохраняем элемент, место которому необходимо найти for (j = i; j > 0 && a[j-1] > x; j--) // поиск места элемента в готовой последовательности a[j] = a[j-1]; // сдвигаем элемент направо, пока не дошли a[j] = x; // место найдено, вставить элемент } }
20Май/100
std::cin.ignore
Мой частоиспользуемы трюк:
std::cin.clear(); std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
по очистке входящего потока от мусора, при подключении заголовка windows.h работать переставал и компилятор страшно ругался:
1>d:\documents\visual studio 2010\projects\oop_lab1_cpp\oop_lab1_cpp\oop_lab1_cpp.cpp(52): warning C4003: not enough actual parameters for macro ‘max’ 1>d:\documents\visual studio 2010\projects\oop_lab1_cpp\oop_lab1_cpp\oop_lab1_cpp.cpp(52): error C2589: ‘(’ : illegal token on right side of ‘::’ 1>d:\documents\visual studio 2010\projects\oop_lab1_cpp\oop_lab1_cpp\oop_lab1_cpp.cpp(52): error C2143: syntax error : missing ‘)’ before ‘::’ 1>d:\documents\visual studio 2010\projects\oop_lab1_cpp\oop_lab1_cpp\oop_lab1_cpp.cpp(52): error C2059: syntax error : ‘)’
Выход оказался, как всегда, прост:
#include <windows.h> #undef max #include <limits>