Сортировка пузырьком - C (СИ) (150373)
Формулировка задачи:
Стоит задача: Преобразовать массив таким образом, чтобы сначала располагались все элементы,
модуль которых не превышает 1, а потом — все остальные. (в програме со строки 26 ).
Проблема в том что отрицательные числа которые стоят до середины массива считаются как числа с подходящим модуле (в моей програме это чеисло -6).
Код:
#include <stdlib.h>
#include <math.h>
int main()
{
int lenght=10;
int mass[lenght]={0,1,-6,4,1,5,-1,-2,5,-5};
int count;
for (count=0;count<lenght ;count++){
printf ("%i ",mass[count]);
}
printf("\n");
int min;
min=mass[0];//Нахождение минимального элемнта
for (count=1;count<lenght;count++){
if (mass[count]<min) min=mass[count];
}
printf("min=%i\n", min);
int ot1,ot2,count_tmp,summ;
for (count=0;count<lenght;count++) if(mass[count]<0){ot1=count;break;} //нахождение сумы между отрицательными
for (count=ot1+2;count<lenght;count++) if(mass[count]<0){ot2=count;break; }
for (count=ot1+1;count<ot2;count++) summ+=mass[count];
printf("%i\n",summ);
int temp=0;
int counter;
for (count=0;count<lenght;count++) //выкидывание в начало элементов с abs<=1
for (counter=count;counter<lenght-1;counter++)
{
if (abs(mass[counter]<=1))
{
temp=mass[counter];
mass[counter]=mass[count];
mass[count]=temp;
break;
}
}
for (count=0;count<lenght ;count++) printf ("%i ",mass[count]);
system("pause");
return 0;
}Решение задачи: «Сортировка пузырьком»
textual
Листинг программы
int (*cmp)(int)