rendered paste body#include <stdio.h>
void QS(int *tab, int l, int p)
{
int i,j,v,tmp;
v=tab[(l+p)/2];
for(i=l,j=p;i<j;)
{
while (tab[i]<v) i++;
while (tab[j]>v) j--;
if (i<=j)
{
tmp=tab[i];
tab[i]=tab[j];
tab[j]=tmp;
i++;
j--;
}
}
if (l<j) QS(tab,l,j);
if (p>i) QS(tab,i,p);
}
int main()
{
int a,i,dl,*tab;
while ((dl<1)||(dl>15))
{
printf("Podaj ilosc liczb (max 15): ");
scanf("%d",&dl);
}
tab=malloc(dl*sizeof(int));
for (i=0;i<dl;i++)
{
printf("Podaj %d. liczbe: ",i+1);
scanf("%d",&a);
tab[i]=a;
};
system("cls");
printf("Podane liczby przed segregacja: ");
for (i=0;i<dl;i++)
{
printf("\n%d",tab[i]);
};
QS(tab,0,dl-1);
printf("\n\nPodane liczby po segregacji: ");
for (i=0;i<dl;i++)
{
printf("\n%d",tab[i]);
};
getch();
free(tab);
return 0;
}