вот код:
Код: Выделить всё
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 20
void form(int *z)
{
int i;
for (i=0;i<N; i++)
z[i]=random(100);
}
void vivod(int *z)
{
int i;
for (i=0;i<N; i++)
printf("%4d",z[i]);
}
void m_vst(int *z)
{
int i,j,k,x;
for (k=1;k<N;k++)
{
x=z[k];
j=k-1;
while ((x<z[j])&&(j>=0))
{
z[j+1]=z[j];
j--;
}
z[j+1]=x;
}
}
void pr_ob(int *z)
{int k,i,j;
for(i=0; i<N; i++)
{for (i=0; i<N; i++)
for (j=N-1; j>=1+i; j--)
if (z[j]<z[j-1])
{
k=z[j];
z[j]=z[j-1];
z[j-1]=k;}
}}
void pr_vib(int *z)
{int j,i,m,k,r;
for (i=0; i<N-1; i++)
{
m=z[i]; k=i;
for (j=i; j<N; j++)
if (m>z[j]) { m=z[j]; k=j;}
r=z[i];
z[i]=z[k];
z[k]=r; }}
void main()
{
int a[N];
printf("\n Massiv :\n");
{form(a);
vivod(a);
m_vst(a);
printf("\n Массив отсортирован методом простых вставок :\n");
vivod(a);
getch();}
{form(a);
pr_ob(a);
printf("\n Массив отсортирован методом простого обмена :\n");
vivod(a);
getch();}
{form(a);
pr_vib(a);
printf("\n Массив отсортирован методом простого выбора :\n");
vivod(a);}
getch();
}