Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
02.05.2014
Размер:
36.86 Кб
Скачать

Лабораторная работа №4

по технологическому программированию

«Алгоритмы сортировки»

Выполнил: Егоров Михаил

Группа: БИ-1-05

Цель работы: изучение различных алгоритмов сортировки и сравнение их характеристик.

1.Задание.

Написать программу на языке Си, которая случайным образом задает массив типа int из 20 элементов в диапазоне от –1000 до 1000, выполняет сортировку элементов по возрастанию двумя методами и выводит на экран отсортированные массивы.

2.Методы решения.

1.Метод выбора.

2.Метод пузырька.

3.Описание переменных.

Stat[] – исходный массив элементов

V[] – массив, отсортированный методом выбора.

P[] – массив, отсортированный метод пузырька.

i, j счетчики элементов.

xmin – значение наименьшего из элементов.

kmin – текущая позиция xmin в массиве Stat[].

4.Блок-схема.

5.Исходный текст программы.

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

void main()

{

randomize();

clrscr();

int STAT[20],V[20],P[20];

int i,j,xmin,kmin;

//zadanie massiva

for (i=0; i<=19;i+=1)

{

STAT[i]=random(2001)-1000;

P[i]=V[i]=STAT[i];

}

for (i=0;i<=18; i+=1)

{

xmin=V[i];

kmin=i;

for (j=i+1;j<=19;j+=1)

{

if (V[j]<xmin)

{

xmin=V[j];

kmin=j;

}

}

V[kmin]=V[i];

V[i]=xmin;

}

for (i=18;i>=0;i--)

{

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

{

if (P[j]>P[j+1])

{

xmin=P[j];

P[j]=P[j+1];

P[j+1]=xmin;

}

}

}

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

printf("%d\t%d\t%d\n",STAT[i],V[i],P[i]);

}

6.Результат.

STAT[20]

V[20]

P[20]

-666

-666

-666

145

-462

-462

198

-438

-438

700

-414

-414

858

-321

-321

-290

-290

-290

-321

-82

-82

-60

-60

-60

854

145

145

635

198

198

670

375

375

879

465

465

-414

635

635

719

670

670

-462

700

700

465

719

719

-438

854

854

914

858

858

375

879

879

-82

914

914

Соседние файлы в папке Лабораторные работы6