Пусть дан массив A1, A2 ,..., An. Требуется переставить элементы A1, A2,..., An так, чтобы вначале в массиве шла группа, больших того элемента, который в исходном массиве располагался на первом месте, затем сам элемент, потом - группа элементов меньших или равных ему. Задача № 6 "Сортировка массивов" (см. "Сборник задач для начинающего программиста") Алгоритм: 1) Создаем одномерный массив заданного размера(10) #include <stdio.h> #include <stdlib.h> #define N 10 int a[N]; int i,temp; int sort() { while(temp != 60) { //алгоритм сортировки.пока temp не равен 60(числу,заведомо не //входящему в исходный массив),выполняется цикл temp = 60; for(i = 0; i < N-1; i++) { if(a[i] < a[i+1]) { temp=a[i]; a[i] = a[i+1]; a[i+1] = temp; } } } } int main() { printf("Isxodnyi massiv:\n"); for(i=0;i<N;i++) { //Заполнение массива рандомными числами от 0 до 50 a[i] = random(50); printf("%d ", a[i]); } sort(); printf("\n\nPolu4ivshiisya massiv:\n"); for(i=0;i<N;i++) { //Вывод результата printf("%d ", a[i]); } return 0; }
Ключевые слова:
сортировка массива
|
|||||||