Рассмотрим программу сортировки по возрастанию элементов целочисленного массива методом пузырька.
int main() {
const int N=5;
int i, b[N];
cout << "Vvedite " << N << " elementov massiva:" << endl;
for(i=0; i<N; i++) cin >> b[i];
for(i=0; i<N-1; i++) { //цикл сортировки элементов массива
for(int j=i+1; j<N; j++) {
if(b[j] < b[i]) { int a = b[i]; b[i] = b[j]; b[j] = a; }
}
}
cout << "Otsort. massiv: ";
for(i=0; i<N; i++) cout << b[i] << " ";
getch(); return 0;
}
Реализованный в данной программе алгоритм сортировки является самым простым и одновременно самым медленным, суть которого заключается в следующем. Сначала первый элемент сравнивается по очереди с остальными элементами (начиная со второго). Если он больше, чем какой-либо из элементов массива, то эти элементы меняются местами. Когда это будет проделано, то станет известен самый меньший элемент последовательности. Затем второй элемент сравнивается по очереди со всеми остальными, начиная с третьего, и если находится элемент меньший чем второй, они меняются местами и т.д.
Д/З
| Напишите программу, которая ищет и выводит минимальный элемент введённого с клавиатуры массива целых чисел.
|
Ответ
| int main() {
const int N=5;
int i, i_min, arr[N];
cout << "Vvedite " << N << " elementov massiva: " << endl;
for(i=0; i<N; i++) cin >> arr[i];
i_min = 0; // предположим, что 1-ый элемент минимальный
for(i=1; i<N; i++) {
if(arr[i] < arr[i_min]) i_min = i;
}
cout << "Min. element massiva: " << arr[i_min];
getch(); return 0;
}
|