Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2015, 21:22   #1
Bor0902
 
Регистрация: 04.06.2015
Сообщений: 7
По умолчанию Сортировки на Си

Нужно реализовать сортировки пузырьком, Шелла и быструю. Есть наброски (да, знаю, туп:-))
Код:
#include <stdio.h>
void bubble(int *items, int count)

{

   int i, j;

   int t;

  for(i = 1; i < count; ++i)

    for( j = count-1; j >= i; --j) {

      if(items[j - 1] > items[ j ]) {

        t = items[j - 1];

        items[j - 1] = items[ j ];

        items[ j ] = t;

      }

    }

}

 

void shell(int *items, int count)

{

  int i, j, gap, k;

  int x, a[5];

  a[0]=8; a[1]=5; a[2]=3; a[3]=2; a[4]=1;

  for(k=0; k < 5; k++) {

    gap = a[k];

    for(i=gap; i < count; ++i) {

      x = items[i];

      for(j=i-gap; (x < items[j]) && (j >= 0); j=j-gap){

        items[j+gap] = items[j];

      }

      items[j+gap] = x;

    }

  }

}

void quickSort(int *items, int left, int right)

{

  int i, j;

  int x, y;

  i = left;

  j = right;

  x = items[(left+right)/2];

  do {

    while((items[i] < x) && (i < right))

       i++;

    while((x < items[j]) && (j > left))

       j--;

    if(i <= j) {

      y = items[i];

      items[i] = items[j];

      items[j] = y;

      i++; j--;

    }

  } while(i <= j);

  if(i < right)

      quickSort(items, i, right);

  if(left < j)

      quickSort(items, left, j);

}

void quickSortMain(int *items, int count)

{

  quickSort(items, 0, count-1);

}

int main(void)

{

const int N = 5;

int s[5];

int p[5];

int r[5];

printf("Enter a masiv:");

scanf("%i", s[N]);

bubble(s, N);

printf("The sorted bubble is: %s.\n", s[N]);

printf("Enter a masiv:");

scanf("%i", p[N]);

shell(p, N);

printf("The sorted shell is: %s.\n", p[N]);



printf("Enter a masiv:");

scanf("%i", r[N]);

quickSortMain(r, N);

printf("The sorted string quick is: %s.\n", r[N]);

return 0;

}
Прошу, помогите пожалуйста!
Bor0902 вне форума Ответить с цитированием
Старый 04.06.2015, 21:26   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А что не так с программой?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2015, 21:32   #3
Bor0902
 
Регистрация: 04.06.2015
Сообщений: 7
По умолчанию

Прекращает работу.
Bor0902 вне форума Ответить с цитированием
Старый 04.06.2015, 21:38   #4
steps
Заблокирован
 
Регистрация: 04.06.2015
Сообщений: 13
По умолчанию

Программа работала роботала и вдруг перестала работать значит что-то не очищается или не обновляется или буфер переполняться.
steps вне форума Ответить с цитированием
Старый 04.06.2015, 21:38   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Bor0902
А ты перед return поставь getchar(); или system("pause");
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2015, 21:51   #6
Bor0902
 
Регистрация: 04.06.2015
Сообщений: 7
По умолчанию

Она и не работала. После ввода чисел прекращает работу..
Bor0902 вне форума Ответить с цитированием
Старый 04.06.2015, 21:52   #7
Bor0902
 
Регистрация: 04.06.2015
Сообщений: 7
По умолчанию

не помогает
Bor0902 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа, сортирующая исходный одномерный массив целых чисел методами пузырьковой сортировки и сортировки прямым выбором (язык С) igor01 Помощь студентам 7 16.05.2014 23:21
Сортировки lialia Паскаль, Turbo Pascal, PascalABC.NET 6 31.03.2013 20:01
Сравнить эффективность алгоритмов шейкерной сортировки и сортировки слиянием (язык C) Ольга210993 Помощь студентам 2 20.09.2012 13:52
Алгоритмы сортировки пирамидальный(кучей) и быстрой сортировки (с++) mmd12 Помощь студентам 4 17.05.2012 14:14