Сортировка выбором - C (СИ) (76186)
Формулировка задачи:
Вот код. Нужно лишь поменять так, чтобы сортировало четные элементы массива (где нужно увеличить на 2?).
# include <stdio.h>
int main()
{
int m[5];
int k, pos, i, j;
for(i=0; i<5; i++)
{
printf("Print mas[%d]:", i);
scanf("%d", &m[i]);
}
for(i=0; i<5; i++)
{
k=m[i];
pos=i;
for(j=pos+1; j<5; j++)
{
if(m[j]<k)
{
k=m[j]; pos=j;
}
}
m[pos]=m[i]; m[i]=k;
}
for(i=0; i<5; i++)
{
printf(">>mas[%d]=%d\n", i, m[i]);
}
return 0;
}Решение задачи: «Сортировка выбором»
textual
Листинг программы
#include <stdio.h>
#include <locale.h>
#define n 5
int main(){
setlocale(LC_ALL, "rus");
int a[n]; //массив а размера n
int i, j; // i, j счетчики циклов
int buf; //buf буферная переменная
//Заполняем массив
printf("Введите элементы массива:\n");
for(i=0; i<n; i++){
scanf("%d", &a[i]);
}
for(i = 0; i < n; i+=2) {
for(j = i+2; j < n; j+=2)
if(a[j] < a[i]){
buf=a[i];
a[i]=a[j];
a[j]=buf;
}
}
//Выведем массив
for(i=0; i<n; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем размер массива n
- Устанавливаем русскую локаль для вывода
- Создаем массив a размера n и две переменные i, j для работы с циклами
- Используем цикл для заполнения массива a значениями, которые вводит пользователь
- Используем два вложенных цикла для сортировки массива выбором (начиная с i=0, потом i=2,4,6,8...)
- Выводим отсортированный массив на экран
- Возвращаем 0, чтобы указать, что программа успешно завершилась