Автор Тема: Алгоритъм за бързо сортиране, проблем!  (Прочетена 1849 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

Talic

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 13
void quicksort(vector a, int L, int r){
/*
L- lqv marker, kadeto za posledn pyt e nameren element   > x pridvijenie ot lqvo na dqsno
 R - desen marker, kydeto zaposleden pyt e nameren element < x pri dvijenie ot dqsno na lqvo */

int  i, j;
double x, w;
i=L; j=r;
x=a[(L+r)/2];
do
{

   while (a[i] <x) i++;
   while(x<a[j]) j--;
if (i<=j)
   {
   w=a[i];
   a[i]=a[j];
   a[j]=w;
   i++;
   j--;
   }
}
while (i<=j);
if (L<j) quicksort(a,L,j);
if(i<r) quicksort(a,i,r);
}


Защо тази функция ми дава грешки, това е дословно преписано от учебника на Крушков... исках да пробвам този алгоритъм....
« Последна редакция: 18 Януари 2013, 00:03:21 от Talic »
Разликата между форумите по света:
В английския - питаш и ти отговарят.В руския - питаш, отговарят ти и теб те питат нещо.В българския - питаш и 1000 човека ти казват колко си прост, че питаш.

kjufte

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 1
  • -Получени: 51
  • Публикации: 308
Re: Алгоритъм за бързо сортиране, проблем!
« Отговор #1 -: 17 Януари 2013, 18:16:35 »
Кажи какви са грешките които получаваш. Покажи кода с който тестваш.
Вектор не се дефинира така. И трябва да се предаде като референция на функцията иначе правиш копие на вектора и сортирането не се извършва върху вектора който ти искаш да сортираш.

Talic

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 13
Re: Алгоритъм за бързо сортиране, проблем!
« Отговор #2 -: 17 Януари 2013, 23:58:59 »
Кажи какви са грешките които получаваш. Покажи кода с който тестваш.
Вектор не се дефинира така. И трябва да се предаде като референция на функцията иначе правиш копие на вектора и сортирането не се извършва върху вектора който ти искаш да сортираш.


е тва е извадка код дето от книгата  го дава доц. д-р Куршков -Въведение по прoграмиране нa C++ , ако може да ми напишеш   програма кяотод а използва функцията и да подрежда 2 неподреден двумерен масив с нея... тва... е
не трябва ли да работи тоя код... взимам год а го ползвам и бам 3 часа се чудя  въртя изчетох 1 камара неща белкем го корегирам и накрая се предадох


Принципно махнах ббкода за ц++, за да покажа къде ми подчертава за грешка  в компилатора
« Последна редакция: 18 Януари 2013, 00:07:17 от Talic »
Разликата между форумите по света:
В английския - питаш и ти отговарят.В руския - питаш, отговарят ти и теб те питат нещо.В българския - питаш и 1000 човека ти казват колко си прост, че питаш.

kjufte

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 1
  • -Получени: 51
  • Публикации: 308
Re: Алгоритъм за бързо сортиране, проблем!
« Отговор #3 -: 18 Януари 2013, 09:49:34 »
Не мога да те разбера нещо.

ако може да ми напишеш   програма кяотод а използва функцията и да подрежда 2 неподреден двумерен масив с нея... тва... е

Искаш аз да ти напиша програма, или това е условието в дадения учебник за този код? Щото първото няма как да стане.
Аз ти казах вече какви са грешките. Поправи дефиницията на вектора и го сложи като референция.

Zealar

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 17
  • Публикации: 152
Re: Алгоритъм за бързо сортиране, проблем!
« Отговор #4 -: 18 Януари 2013, 12:52:39 »
Това е само функция къде е останалият код?

Stilgar

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 0
  • -Получени: 42
  • Публикации: 1406
    • The Sietch
Re: Алгоритъм за бързо сортиране, проблем!
« Отговор #5 -: 18 Януари 2013, 14:00:14 »
Сега да не се очаква да си пусна компилатор за да видя какви грешки дава?