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

лабораторные работы / сортировка с диапазонами

.docx
Скачиваний:
25
Добавлен:
28.01.2014
Размер:
106.61 Кб
Скачать

#include "conio.h"

#include "stdio.h"

#include "stdlib.h"

#include "time.h"

#include "iostream"

void main()

{

int a[5],m,t,temp,i,j,a1[5]b[5],min,k,x,y;

setlocale(LC_ALL, "rus");

printf("Введите нижний диапазон:");

scanf("%i",&x);

printf("Введите верхний диапазон:");

scanf("%i",&y);

printf("\n");

srand(time(NULL));

for(int i=0;i<5;i++)

{

a[i]=rand()%(y-x)+x;

printf("% i",a[i]);

}

printf("\n\n");

setlocale(LC_ALL, "rus");

printf("\nВведите метод сортировки:1)пузырьковый метод\n2)метод вставкой\n3)сортировка посредством выбора\n\n");

scanf("%i",&m);

printf("\n");

printf("Введите тип сортировки:1)по возростанию\n2)по убыванию\n\n");

scanf("%i",&t);

printf("\n");

if((m==1)&&(t==1))

{

printf("Выбран пузырьковый метод по возростанию\n\n");

for (int i=0;i<5;i++)

{

for (int j=i;j<5;j++)

{

if (a[i]>a[j])

{

temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

for(int k=0;k<5;k++)

{

printf ("%i ",a[k]);

}

printf ("\n");

}

}

if((m==1)&&(t==2))

{

printf("Выбран пузырьковый метод по убыванию\n\n");

for (int i=0;i<5;i++)

{

for (int j=i;j<5;j++)

{

if (a[i]<a[j])

{

temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

for(int k=0;k<5;k++)

{

printf ("%i ",a[k]);

}printf ("\n");

}

}

if((m==2)&&(t==1))

{

printf("Выбран метод вставкой по возростанию\n\n");

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

{

if(i==0)a1[i]=a[i];

else

{

for(j=i;j>=1;j--)

{

if(a[i]<a1[j-1])

{

a1[j]=a1[j-1];

a1[j-1]=a[i];

}

else if(j==i)a1[j]=a[i];

}

}

for(int k=0;k<5;k++)

{

if(k<=i)

{

printf("%i ",a1[k]);

}

else

{

a1[k]=0;

printf("%i ",a1[k]);

}

}

printf("\n");

}

printf("\n");

}

if((m==2)&&(t==2))

{

printf("Выбран метод вставкой по убыванию\n\n");

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

{

if(i==0)a1[i]=a[i];

else

{

for(j=i;j>=1;j--)

{

if(a[i]>a1[j-1])

{

a1[j]=a1[j-1];

a1[j-1]=a[i];

}

else if(j==i)a1[j]=a[i];

}

printf("\n");

}

for(int k=0;k<5;k++)

{

if(k<=i)

{

printf("%i ",a1[k]);

}

else

{

a1[k]=0;

printf("%i ",a1[k]);

}

}

printf("\n");

}

}

if((m==3)&&(t==1))

{

printf("Выбрана сортировка посредством выбора по возрастанию\n\n");

min=a[0];

k=0;

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

{

min=a[i];

k=i;

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

{

if(a[j]<min)

{

min=a[j];

k=j;

}

}

b[i]=min;

a[k]=123131;

for(int k1=0; k1<=i; k1++)

{

printf("%i ",b[k1]);

}

printf("\n");

}

}

if((m==3)&&(t==2))

{

printf("Выбрана сортировка посредством выбора по убыванию\n\n");

min=a[0];

k=0;

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

{

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

{

if(a[j]>min)

{

min=a[j];

k=j;

}

}

b[i]=min;

a[k]=NULL;

for(int k1=0; k1<=i; k1++)

{

printf("%i ",b[k1]);

}

min=a[i];

k=i;

printf("\n");

}

printf("\n");

}

getch();

}