Ошибка в сортировке массива методом прямого выбора - 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])
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д