Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

C_Kurs_Lekt / DOC_RAZNOE / Работа с массивом _СОРТИРОВКА_

.pdf
Скачиваний:
11
Добавлен:
13.02.2016
Размер:
58.03 Кб
Скачать
// меняем элементы местами

/* Пример работы с массивом - вектором (СОРТИРОВКА)*/

#include <stdio.h> #include <stdlib.h> int main(){

int n, a , b, i, j, S, temp;

int *dmas; /* dmas - указатель на целое (число или массив). */ // запрашиваем размеры массива

printf(" n =? "); scanf("%d", &n);

/* выделяем память для массива и его начальный адрес запоминаем в указателе. */

dmas=(int *)calloc(n, sizeof(int));

/* заполняем массив случайными целыми числами

в интервале [a,b]

*/

a= -5; b= 24;

 

//srand(time(NULL));

 

for(i=0;i<n;i++)

 

dmas[i]=a+rand()%(b-a+1);

/* Печатаем значения массива (вектора) */ printf("\n\nIshodnyj massiv\n\n");

for (i=0;i<n;i++) printf("%2d ", dmas[i]); printf("\n");//

##########################################################

// ##########################################################

// Индивидуальное задание

// Упорядочить элементы массива по возрастанию // Пузырьковая сортировка /* Необходимо 2 цикла

1-й для нескольких проходов (повторений)

2-для перемещения вдоль массива

*/ // сортируем

for (j=0; j<n-1; ++j) // для повторов (проходов)

for (i=0; i<n-1; ++i) // для перемещения вдоль массива

if (dmas[i]>dmas[i+1]) // Условие "по возрастанию"если нарушен порядок сортировки

{

temp = dmas[i]; dmas[i] = dmas[i+1]; dmas[i+1] = temp;

}// если сортировать "по убыванию" - меняем > на <

//печатаем результат сортировки printf("\n\nOtsortirovannyj massiv\n\n"); for (i=0;i<n;i++) printf("%2d ", dmas[i]); printf("\n");

//##########################################################

//освобождение памяти, выделенной для массива

free(dmas); return 0;

}