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

Сортировка методом пузырька по возрастанию или убыванию

24.12.2014, 18:43. Просмотров 2717. Ответов 3
Метки нет (Все метки)

Здравствуйте,
Задали задачку, не могу додуматься уже неделю.
Вообщем, программа сортирует массив методом пузырька. Суть в том, чтобы можно было задать по убыванию или возрастанию она отсортирует. НО! Нужно сделать это минимальными усилиями, т.е. просто развернуть массив не подходит, вводить много новых операторов или добавлять циклы тоже.
Помогите, подскажите, если не код, то хотя бы направление мысли.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2014, 18:43
Ответы с готовыми решениями:

Сортировка по убыванию методом пузырька
Добрый вечер! Очень нужна помощь. Задание такое: даны два массива. Массив А состоит из N элементов...

Сортировка по убыванию (методом пузырька)
Задание: добавить сортировку слов по убыванию (по методу пузырька). #include "stdafx.h"...

Сортировка массива по возрастанию или убыванию
Задача. Дан массив чисел размерностью 10 элементов. Написать функцию, которая сортирует массив по...

Сортировка массива по возрастанию или убыванию
Дан одномерный массив состоящий из N целых элементов. Осуществить хип сорт по возрастанию или...

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

3
zss
Модератор
Эксперт С++
7953 / 7138 / 4452
Регистрация: 18.12.2011
Сообщений: 18,844
Завершенные тесты: 1
24.12.2014, 19:51 2
Знак > в условии поменять на <
И ВСЕ!
0
AlexM24
10 / 10 / 11
Регистрация: 09.12.2014
Сообщений: 89
24.12.2014, 20:01 3
Реально работающая прога.

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
#include <stdio.h>
main () {
     int A[10]={9,8,7,6,5,4,3,2,1,0};
     int index=0,change,sort=0;
if (sort==0){index=0;
printf ("START SORTED:\n"); 
printf ("-----------------\n");         
          while (sort==0) {   
             index=0;
             while (index<10){
                   if (A[index]>A[index+1]){change=A[index];A[index]=A[index+1];A[index+1]=change;}
                   printf ("%d",A[index]);
                   index++;
                   }
              printf ("\n");
             index=0; 
            while (index<10) {
           if (A[index]>A[index+1]) {sort=0;break;}
           else {sort=1;}
           index++;
           }  
printf ("-----------------\n");
printf ("nassive sorted\n"); 
     getchar();
     }
0
SaumanBao
11 / 11 / 9
Регистрация: 24.12.2014
Сообщений: 39
24.12.2014, 22:57 4
Это сортировка по Возрастанию
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
#include "stdio.h"
#include "conio.h"
 
int main()
{
    int y[10], n, i, b, j;
    printf("Enter Element = ");
    scanf_s("%i", &n);
    for (i = 0; i<n; i++) //вывод массива
    {
        printf("Y[%i] = ",i);
        scanf_s("%i",&y[i]);
    }
    //упорядочивание элементов в массиве по возрастанию их значений
    for (j = 1; j<n; j++)
        for (i = 0; i<n - j; i++)
            if (y[i]>y[i + 1]) //если текущий элемент больше следующего, то
            {
                b = y[i]; //сохранить значение текущего элемента;
                y[i] = y[i + 1]; //заменить текущий элемент следующим;
                y[i + 1] = b; //заменить следующий элемент текущим.
            }
    for (i = 0; i < n; i++) printf("%i ", y[i]); //вывод упорядоченного массива
    _getch();
    return 0;
}
Добавлено через 6 минут
Это сортировка по Убыванию
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
#include "stdio.h"
#include "conio.h"
 
int main()
{
    int y[10], n, i, b, j;
    printf("Enter Element = ");
    scanf_s("%i", &n);
    for (i = 0; i<n; i++) //вывод массива
    {
        printf("Y[%i] = ",i);
        scanf_s("%i",&y[i]);
    }
    //упорядочивание элементов в массиве по убыванию их значений
    for (i = 0; i<n; i++)
        for (j = n - 1; j>i; j--)
            if (y[j - 1] < y[j])//если текущий элемент меньше следующего, то
            {
                y[n] = y[j - 1]; //сохранить значение текущего элемента;
                y[j - 1] = y[j];//заменить текущий элемент следующим;
                y[j] = y[n]; //заменить следующий элемент текущим.
            }
 
    for (i = 0; i < n; i++) printf("%i ", y[i]); //вывод упорядоченного массива
    _getch();
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2014, 22:57

Сортировка массива по возрастанию метод пузырька
подскажите так или не то совсем #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std;...

Сортировка методом пузырька
Здравствуйте, напишите, пожалуйста, такую программу. Напишите программу, сортирующую массив...

Сортировка методом Хаора и пузырька
Пропустил тему и понятия не имею как делать.


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

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

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