#include <stdio.h>
#include <stdlib.h>

void swap (int *p1, int *p2)
{
    int tmp = *p1;
    *p1 = *p2;
    *p2 = tmp;
}

void bubble (int *pole, int pocetPrvku)
{
    int i,finish;
    int cyklus;

    cyklus = pocetPrvku -1;
    do {
        finish = 1;
        for(i = 0; i < cyklus; i++)
        {
            if(pole[i] > pole[i+1]) {
                swap(pole+i,&pole[i+1]);
                finish = 0;
            }
        }
        cyklus -= 1;

    } while(!finish);
}

int main(void)
{
    int pocetPrvku;
    int *pole;
    int i;
    printf("Zadejte pocet prvku: ");
    scanf("%d",&pocetPrvku);

    pole = (int *) malloc(pocetPrvku *sizeof(int));

    for(i = 0; i < pocetPrvku; i++)
    {
        printf("Zadejte prvek[%d]: ",i+1);
        scanf("%d",pole+i);
    }

    bubble(pole,pocetPrvku);

    printf("Seřazené pole: ");
    for(i = 0; i < pocetPrvku; i++)
    {
        printf("%i ",pole[i]);
    }
    printf("\n");
    free(pole);
}

