Помогите с сортировками пожалуйста!! В-13 -8 -10 5 6 -10 -3
Помогите с сортировками пожалуйста!!
В-13 -8 -10 5 6 -10 -3 9 -7 -7 -8
Надежда Кузнецкая
На каком языке программирования написать программку? Какой тип сортировки использовать?
Вера Комарькова
все сортировки разменом вставкой выбором примерно так: 2 7 -7 -6 6 -1 0 7 6 8 и так -7 2 7 -6 6 -1 0 7 6 8
Ольга Завальницкая
Так как язык программирования вы не написали, я представил, что раз уровень студенческий, то это СИ.
1 ответ
Павел Чижгалов
include lt;stdio.hgt;
void sort(int in[], int a, int b)
int i,j,mode;
if (a gt;= b) return;
for (i=a, j=b, mode=1; i lt; j; mode gt;0 ? j-- : i++)
if (in[i] gt; in[j])
int c = in[i];
in[i] = in[j];
in[j] = c;
mode = -mode;
sort(in, a, i-1);
sort(in, i+1, b);
int main(void)
int m = 0; int x = 0;
int a[10] = -8,-10,5,6,-10,-3,9,-7,-7,-8;
printf("\nИзначальный массив: ");
for (int i = 0; i lt; 10; i++)
printf("%i ", a[i]);
printf("\nМетод разменом (пузырьком): ");
for (int i = 0; i lt; 9; i++)
for (int j = 0; j lt; 9-i; j++)
if (a[j] lt; a[j + 1])
m = a[j];
a[j] = a[j + 1];
a[j + 1] = m;
for (int i = 0; i lt; 10; i++)
printf("%i ", a[i]);
printf("\nМетод вставкой: ");
for (int i = 0; i lt; 10; i++)
x = a[i];
m = i;
while (m gt; 0 amp;amp; a[m - 1] gt; x)
a[m] = a[m - 1];
m = m - 1;
a[m] = x;
for (int i = 0; i lt; 10; i++)
printf("%i ", a[i]);
printf("\nМетод выбором: ");
for (int i = 0; i lt; 10; i++)
m = i;
for (int j = i + 1; j lt; 10; j++)
if (a[j] gt; a[m])
m = j;
x = a[i];
a[i] = a[m];
a[m] = x;
for (int i = 0; i lt; 10; i++)
printf("%i ", a[i]);
printf("\nМетод разделением (qsort): ");
sort(a, 0, 9);
for (int i = 0; i lt; 10; i++)
printf("%i ", a[i]);
return 0;
void sort(int in[], int a, int b)
int i,j,mode;
if (a gt;= b) return;
for (i=a, j=b, mode=1; i lt; j; mode gt;0 ? j-- : i++)
if (in[i] gt; in[j])
int c = in[i];
in[i] = in[j];
in[j] = c;
mode = -mode;
sort(in, a, i-1);
sort(in, i+1, b);
int main(void)
int m = 0; int x = 0;
int a[10] = -8,-10,5,6,-10,-3,9,-7,-7,-8;
printf("\nИзначальный массив: ");
for (int i = 0; i lt; 10; i++)
printf("%i ", a[i]);
printf("\nМетод разменом (пузырьком): ");
for (int i = 0; i lt; 9; i++)
for (int j = 0; j lt; 9-i; j++)
if (a[j] lt; a[j + 1])
m = a[j];
a[j] = a[j + 1];
a[j + 1] = m;
for (int i = 0; i lt; 10; i++)
printf("%i ", a[i]);
printf("\nМетод вставкой: ");
for (int i = 0; i lt; 10; i++)
x = a[i];
m = i;
while (m gt; 0 amp;amp; a[m - 1] gt; x)
a[m] = a[m - 1];
m = m - 1;
a[m] = x;
for (int i = 0; i lt; 10; i++)
printf("%i ", a[i]);
printf("\nМетод выбором: ");
for (int i = 0; i lt; 10; i++)
m = i;
for (int j = i + 1; j lt; 10; j++)
if (a[j] gt; a[m])
m = j;
x = a[i];
a[i] = a[m];
a[m] = x;
for (int i = 0; i lt; 10; i++)
printf("%i ", a[i]);
printf("\nМетод разделением (qsort): ");
sort(a, 0, 9);
for (int i = 0; i lt; 10; i++)
printf("%i ", a[i]);
return 0;
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов