Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
ЛиниЛин
0 / 0 / 0
Регистрация: 15.04.2018
Сообщений: 13
1

Сортировка элементов массива "пузырьком"

13.06.2018, 09:50. Просмотров 692. Ответов 2
Метки нет (Все метки)

Здравствуйте. Помогите пожалуйста, я разобраться не могу как это правильно сделать.
Сортировка (можно пузырьком). Дан массив a[n], расположить в нем элементы
1. по возрастанию
2. по убыванию
3. по возрастанию модулей
4. по убыванию модулей
5. по возрастанию количества единичных бит в двоичном представлении числа
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2018, 09:50
Ответы с готовыми решениями:

Сортировка элементов массива пузырьком (упорядочить массив по возрастанию)
Здравствуйте, прошу у Вас помощи! Учусь на 1 курсе ВУЗа, не объяснив ничего и...

Сортировка подсчетом и ошибка "Невозможно преобразовать "void*" в "int*"
Мне нужно отсортировать одномерный массив с помощью алгоритма сортировки,...

Создать запись "Двигатель", которая содержит элементы "Название", "Мощность", "Скорость", "Цена"
Создать запись "Двигатель", которая содержит элементы "Название", "Мощность",...

Сортировка двумерного массива методом вставок с "конфеткой"
Доброго времени суток. Помогите разобраться со следующим заданием: Необходимо...

Сортировка Массива методом "пузырька"
Нужно результат P отсортировать "пузырьком". #include <math.h> #include...

2
Catstail
Модератор
23731 / 11815 / 2066
Регистрация: 12.02.2012
Сообщений: 19,214
13.06.2018, 16:34 2
Лучший ответ Сообщение было отмечено ЛиниЛин как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <stdio.h>
#include <stdlib.h>
 
// Сортировка перестановками 
 
void Sort(int *Arr, int n, int (*comp)(int,int))
{
     int i,j,tmp;
     for (i=0; i<n-1; i++)
        for (j=i+1; j<n; j++)
            if (comp(Arr[i],Arr[j]) == 0)
            {
               tmp=Arr[i];
               Arr[i]=Arr[j];
               Arr[j]=tmp;
            }                        
}
 
int comp_acs (int a, int b)
{
    return b>a;
}                    
                                    
int comp_desc (int a, int b)
{
    return a>b;
}                    
      
int comp_acs_abs (int a, int b)
{
    return abs(b)>abs(a);
}                    
 
int comp_desc_abs (int a, int b)
{
    return abs(a)>abs(b);
}                    
      
int num_bits(int n)
{
    int i,s=0;
    for (i=1; i<=sizeof(int); i++) s+=(n & 1);
}    
 
int comp_acs_bits (int a, int b)
{
    return num_bits(b)>num_bits(a);
}                    
 
 
int main(int argc, char *argv[])
{
 
  int X[10]={6,2,5,1,0,-5,2,12,-7,-8};
  int i;
  
  Sort(X,10,&comp_acs); // по возрастанию
  
  for (i=0; i<10; i++) printf("%d ",X[i]);
  printf("\n");
  
  Sort(X,10,&comp_desc); // по убыванию
  
  for (i=0; i<10; i++) printf("%d ",X[i]);
  printf("\n");
 
  Sort(X,10,&comp_acs_abs); // по возрастанию модулей
  
  for (i=0; i<10; i++) printf("%d ",X[i]);
  printf("\n");
 
  Sort(X,10,&comp_desc_abs); // по убыванию модулей
  
  for (i=0; i<10; i++) printf("%d ",X[i]);
  printf("\n");
 
  Sort(X,10,&comp_acs_bits); // по возрастанию к-ва единиц в битовом представлении
  
  for (i=0; i<10; i++) printf("%d ",X[i]);
  printf("\n");
 
  system("PAUSE");  
  return 0;
}
1
ЛиниЛин
0 / 0 / 0
Регистрация: 15.04.2018
Сообщений: 13
13.06.2018, 17:38  [ТС] 3
Спасибо)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2018, 17:38

Доработать сортировку "пузырьком"
Доброго времени сутокбуважаемые програмисты. Вот кусок кода который дали и...

Ввести структуру "историческое событие" с полями "число", "месяц", "год", "событие"
Ввести структуру ИСТОРИЧЕСКОЕ СОБЫТИЕ с полями ЧИСЛО, МЕСЯЦ, ГОД, СОБЫТИЕ....

Все положительные элементы массива заменить на значение "1", отрицательные на "-1"
Дана последовательность чисел a (i=1, 2, …, n). Все положительные элементы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru