C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
программа в с
екатерина
Отправлено: 10.09.2009, 00:57


Не зарегистрирован







Здравствуйте! Помогите, пожалуйста, посмотрите работает ли моя программа. И помогите дополнить комментарии
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int max_number=50;
int pocet_cisel=13;
//int trideni=1; //prime vkladani
int trideni=2; //quicksort
int* cisla=NULL;


int primevkladani();
void quicksort(int zacatek,int konec);

//---------------------------------------------------------------------------
int main(int argc, char **argv)
{
cisla=(int*)calloc((size_t)pocet_cisel, sizeof(int));
if(cisla==NULL)
{
return 1;
}
printf("max cislo = %d\n", max_number);
printf("pocet cisel = %d\n", pocet_cisel);

srand(time(NULL));
int i=0;
while(i<pocet_cisel)
{
cisla[i]=rand()%max_number;
i++;
}
printf("Nesetridena cisla:\n");
i=0;
while(i<pocet_cisel)
{
printf("%d ", cisla[i]);
i++;
}
printf("\n");

if(trideni==1)
{
primevkladani();
}else if(trideni==2)
{
quicksort(0,pocet_cisel-1);
}else{
printf("Nezname trideni.\n");
free(cisla);
return 1;
}

printf("Setridena cisla:\n");
i=0;
while(i<pocet_cisel)
{
printf("%d ", cisla[i]);
i++;
}
printf("\n");


return 0;
}

//---------------------------------------------------------------------------
void quicksort(int zacatek,int konec)
{
int l = zacatek;
int r = konec;
int polovina = cisla[(int)((l+r)/2)];
int tmp;
do
{
while( cisla[l]<polovina && l<konec ) l++;
while( cisla[r]>polovina && r>zacatek ) r--;

if (l <= r)
{
tmp = cisla[l];
cisla[l] = cisla[r];
cisla[r] = tmp;
l++;
r--;
}
}while(l <= r);

if(zacatek<r) quicksort(zacatek,r);
if(l<konec) quicksort(l,konec);
}
//---------------------------------------------------------------------------
int primevkladani()
{
int i;
int x;
int j;
for(i=1; i<pocet_cisel;i++)
{
x = cisla[i];
j = i-1;
while( j>=0 && x<cisla[j] )
{
cisla[j+1] = cisla[j];
j--;
}
cisla[j+1] = x;
}
}
//----------------------------------------------------------------------------
Ruslana
Отправлено: 20.09.2009, 13:39


Не зарегистрирован







QUOTE
Здравствуйте! Помогите, пожалуйста, посмотрите работает ли моя программа. И помогите дополнить комментарии


Хм.. телепетов тут нет.
Вы хоть написали бы, а что программа должна делать ?

Вернуться в Вопросы программирования в C++Builder