Bubblesort v jazyce C
Napsal: 27 zář 2012, 19:27
Zdravím,
jsem začátečník v programování v jazyce C. Dostal jsem za úkol napsat program pro "bublinkové seřazení" osmi čísel v poli od nejmenšího po nějvětší. Program mám napsaný, ale nemůžu ho doladit. Prosím dokážete někdo najít chybu a poradit? Díky moc.
Můj program:
#include <stdio.h>
int main()
{
int pole[] = {8, 4, 2, 6, 10, 16, 14, 12};
int pocet_prvku = sizeof(pole);
int i, j, pom;
printf("Vypis pole: \n");
for (i = 0; i < pocet_prvku; i++)
{
printf("%d", pole[i]);
}
for (j = (pocet_prvku - 1); j > 0; j--)
{
for (i = 0; i < pocet_prvku; i++)
{
if (pole[i-1] > pole [i])
{ pom = pole [i - 1];
pole [i - 1] = pole [i];
pole [i] = pom;
}
}
printf("\n");
}
return 0;
}
jsem začátečník v programování v jazyce C. Dostal jsem za úkol napsat program pro "bublinkové seřazení" osmi čísel v poli od nejmenšího po nějvětší. Program mám napsaný, ale nemůžu ho doladit. Prosím dokážete někdo najít chybu a poradit? Díky moc.
Můj program:
#include <stdio.h>
int main()
{
int pole[] = {8, 4, 2, 6, 10, 16, 14, 12};
int pocet_prvku = sizeof(pole);
int i, j, pom;
printf("Vypis pole: \n");
for (i = 0; i < pocet_prvku; i++)
{
printf("%d", pole[i]);
}
for (j = (pocet_prvku - 1); j > 0; j--)
{
for (i = 0; i < pocet_prvku; i++)
{
if (pole[i-1] > pole [i])
{ pom = pole [i - 1];
pole [i - 1] = pole [i];
pole [i] = pom;
}
}
printf("\n");
}
return 0;
}