Ошибка в сортировке массива методом прямого выбора - C (СИ)

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

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

Нужно сделать сортировку массива методом прямого выбора. Вот что написал:
Листинг программы
  1. #include <stdio.h>
  2. #define MAS10 10
  3. void printArray(int *, int);
  4. void directSelection(int *, int);
  5. int main(){
  6. int arr[MAS10] = {5, 7, 1, 9, 2, 0, 6, 3, 8, 4};
  7. printArray(arr, MAS10);
  8. directSelection(arr, MAS10);
  9. printArray(arr, MAS10);
  10. getch();
  11. return 0;
  12. }
  13. void printArray(int *arr, int size){
  14. int i;
  15. printf("\n");
  16. for(i = 0; i < size; i++)
  17. printf("%3d", arr[i]);
  18. printf("\n");
  19. }
  20. void directSelection(int *arr, int size){
  21. int i, j, pos, temp;
  22. for(i = 0; i < size - 1; i++){
  23. pos = i;
  24. for(j = i + 1; j < size; j++){
  25. if(arr[pos] > arr[j])
  26. pos = j;
  27. }
  28. if(pos != i){
  29. temp = arr[pos];
  30. arr[pos] = arr[i];
  31. arr[i] = temp;
  32. }
  33. }
  34. }
До сортировки выводит правильно , а после 0 1 2 3 4 5 6 7 8 9 Вообще не пойму?

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

textual
Листинг программы
  1. if(arr[pos] < arr[j])

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


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

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

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

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

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

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