Быстрая сортировка не работает - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ребята помогите довести до ума прогу. Прога сама случайным образом заполняет масив например из 10 положительных чисел в пределах от 0 до 100. Потом выводит на экран Затем путем быстрой сортировки прога должна отсортировать числа и разумеется вывести на экран Но она этого не делает,не могу понять в чем ошибка ============================================= Вот мой код
Листинг программы
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. #include<math.h>
  5. #define N 10
  6. int litlsort(int* mas,int n);
  7. int rek(int*,int,int);
  8. int flag;
  9. void main ()
  10. {
  11. int mas[10];
  12. litlsort(mas,N);
  13. }
  14. int litlsort(int* mas, int n)
  15. {
  16. int count=0;
  17. srand((unsigned int)time(0));
  18. int temp;
  19. int z=0;
  20. int i,j,k;
  21. for(i=0;i<10;i++)
  22. {
  23. mas[i]=rand()%100+1;
  24. printf("%d\t",mas[i]);
  25. }
  26. printf("\n");
  27. flag=0;
  28.  
  29. rek(mas,10,count);
  30. for(i=0;i<10;i++)
  31. printf("%d\t",mas[i]);
  32. printf("\n");
  33. printf("\n");
  34. return 0;
  35. }
  36. int rek(int* mas,int n,int count)
  37. {
  38. if(count==0)
  39. return 1;
  40. int i,j;
  41. int temp;
  42. for(i=0;i<n;i++)
  43. {
  44. for(j=0;j<n;j++)
  45. {
  46. if(mas[i]>mas[j])
  47. {
  48. temp=mas[i];
  49. mas[i]=mas[j];
  50. mas[j]=temp;
  51. i=j;
  52. count++;
  53. }
  54. }
  55. if(i==n)
  56. i=i-1;
  57. for(j=i;j>0;j--)
  58. {
  59. if(mas[i]<mas[j])
  60. {
  61. temp=mas[i];
  62. mas[i]=mas[j];
  63. mas[j]=temp;
  64. i=j;
  65. count++;
  66. }
  67. }
  68. }
  69. rek(mas,n,count);
  70. return 0;
  71. }
Прошу тапками не забрасывать,только учусь Если не трудно помогите,заранее спасибо

Решение задачи: «Быстрая сортировка не работает»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int iCmp(const void *a, const void *b){
  6.     return *(int*)a - *(int*)b;
  7. }
  8.  
  9. void pArray(int *arr, size_t cnt){
  10.     size_t i;
  11.     for ( i = 0; i < cnt; ++i )
  12.         printf("%02d  ", arr[i]);
  13.     printf("\n");
  14. }
  15.  
  16. #define ARR_SIZE 10
  17.  
  18. int main(void){
  19.     int arr[ARR_SIZE], i;
  20.  
  21.     srand(time(NULL));
  22.     for ( i = 0; i < ARR_SIZE; ++i )
  23.         arr[i] = rand() % 100;
  24.     printf("Unsorted:\n");
  25.     pArray(arr, ARR_SIZE);
  26.     qsort(arr, ARR_SIZE, sizeof(int), iCmp);
  27.     printf("Sorted:\n");
  28.     pArray(arr, ARR_SIZE);
  29.  
  30.     exit(0);
  31. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы