Stránka 1 z 1

Bubblesort v jazyce C

Napsal: 27 zář 2012, 19:27
od Velous
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;
}

Napsal: 27 zář 2012, 19:44
od DRAKE
#include <stdio.h>
int main()
{
int pole[] = {8, 4, 2, 6, 10, 16, 14, 12};
int pocet_prvku = sizeof(pole)/sizeof(int);
int i, j, pom;

printf("Vypis pole:\n");

for (i = 0; i < pocet_prvku; i++)
{
printf("%d\n", pole[i]);
}

for (j = (pocet_prvku - 1); j >= 0; j--)
{
for (i = 0; i < pocet_prvku-1; i++)
{
if (pole[i+1] < pole [i])
{
pom = pole [i + 1];
pole [i + 1] = pole [i];
pole [i] = pom;
}
}

printf("\n");
}

printf("Vypis pole:\n");
for (i = 0; i < pocet_prvku; i++)
{
printf("%d\n", pole[i]);
}

return 0;
}

Napsal: 27 zář 2012, 19:55
od Velous
Moc ti děkuju. Nevíš prosím, kde bych se dostal k nějaké literatuře, nebo nemáš něco ty v .pdf nebo v jiném formátu, abych si mohl doplnit své chybějící vědomosti? Ještě jednou ti moc děkuju! ;)

Napsal: 27 zář 2012, 20:32
od DRAKE