Вывести результат сортировки простого выбора - C (СИ)
Формулировка задачи:
я сделала сортировку, помогите с выводом, не пойму как его написать:
Листинг программы
- #include <stdio.h>
- #pragma hdrstop
- #define n 6
- #pragma argsused
- int X[n]; //имя массива
- void main ()
- { int i=0, b=0, j=0, min,p; //i-переменная цикла,означающая позицию элемента в массиве;
- //b-переменная для сортировки
- printf("Vvedite %d chisel: ", n);
- for(i=0; i<n; i++)
- {printf("\n%d-oe chiclo --> ",i); // \n-означает конец строки
- scanf("%d", &X[i]);//&- взятие адреса
- }
- for (i = 0; i < n; i++)
- {printf("%d ", X[i]);
- }
- printf("\n\n");
- for ( i=0; i<n-1 ; i++)
- {min=i;
- for (j=i+1; j<n; j++)
- {if (X[j]<X[min])
- {min=j;}
- p=X[i];
- X[i]=X[min];
- X[min]=p;
- }
- }
- getchar();
- getchar();
- }
Решение задачи: «Вывести результат сортировки простого выбора»
textual
Листинг программы
- #include <stdio.h>
- #pragma hdrstop
- #define n 6
- #pragma argsused
- int X[n]; //имя массива
- void main ()
- { int i=0, b=0, j=0, min=0,p=0; //i-переменная цикла,означающая позицию элемента в массиве;
- //b-переменная для сортировки
- printf("Vvedite %d chisel: ", n);
- for(i=0; i<n; i++)
- {printf("\n%d-oe chiclo --> ",i); // \n-означает конец строки
- scanf("%d", &X[i]);//&- взятие адреса
- }
- for (i = 0; i < n; i++)
- {printf("%d ", X[i]);
- }
- printf("\n\n");
- for ( i=0; i<n-1 ; i++)
- {min=i;
- for (j=i+1; j<n; j++)
- {if (X[j]<X[min])
- {min=j;} }
- p=X[i];
- X[i]=X[min];
- X[min]=p;
- }
- for (i = 0; i < n; i++)
- {printf("%d ", X[i]);
- }
- getchar();
- getchar();
- }
Объяснение кода листинга программы
- В начале кода подключается стандартная библиотека printf.h
- Далее, с помощью #pragma hdrstop, останавливается компилятор, чтобы подключать другие заголовочные файлы.
- Определяется переменная n типа int со значением 6, которая будет использоваться для определения размера массива.
- Создается массив типа int с именем X и размером n.
- В функции main() создаются следующие переменные:
- i - используется как счетчик в цикле, инициализируется значением 0.
- b - используется для сортировки, инициализируется значением 0.
- j - используется как счетчик в цикле, инициализируется значением 0.
- min - используется для хранения минимального значения в текущем проходе цикла, инициализируется значением 0.
- p - используется для хранения временного значения, инициализируется значением 0.
- С помощью цикла for и функции scanf() в массив X загружаются значения, введенные пользователем.
- С помощью цикла for и функции printf() выводятся все значения массива X.
- С помощью двух вложенных циклов for происходит сортировка массива X методом
простого выбора
.- Внешний цикл идет от i=0 до i<n-1, где n-1 - это количество элементов, которые нужно переставить.
- Внутренний цикл идет от j=i+1 до j<n.
- Если X[j] меньше X[i], то меняется значение min, иначе ничего не происходит.
- Значение min обновляется, и min и p меняются местами с i-ым и min-ым элементами массива X соответственно.
- С помощью цикла for и функции printf() выводятся отсортированные значения массива X.
- В конце функции main() вызывается функция getchar() для обработки возможных символов в буфере ввода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д