Ошибка в сортировке массива методом прямого выбора - C (СИ)
Формулировка задачи:
Нужно сделать сортировку массива методом прямого выбора. Вот что написал:
До сортировки выводит правильно , а после 0 1 2 3 4 5 6 7 8 9
Вообще не пойму?
#include <stdio.h> #define MAS10 10 void printArray(int *, int); void directSelection(int *, int); int main(){ int arr[MAS10] = {5, 7, 1, 9, 2, 0, 6, 3, 8, 4}; printArray(arr, MAS10); directSelection(arr, MAS10); printArray(arr, MAS10); getch(); return 0; } void printArray(int *arr, int size){ int i; printf("\n"); for(i = 0; i < size; i++) printf("%3d", arr[i]); printf("\n"); } void directSelection(int *arr, int size){ int i, j, pos, temp; for(i = 0; i < size - 1; i++){ pos = i; for(j = i + 1; j < size; j++){ if(arr[pos] > arr[j]) pos = j; } if(pos != i){ temp = arr[pos]; arr[pos] = arr[i]; arr[i] = temp; } } }
Решение задачи: «Ошибка в сортировке массива методом прямого выбора»
textual
Листинг программы
if(arr[pos] < arr[j])
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д