Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 14.02.2017
Сообщений: 102

Вместо ShakerSort, получается BubbleSort

10.04.2017, 20:47. Показов 806. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите, пожалуйста, разобраться с проблемой. У меня всё никак не получается сделать shaker, он делает что то одно (получается bubble sort), то всё время с лева на право гонит наибольшее число или с право налево наименьшее число, типо всё ровно делает bubble sort. Я наверно не могу понять как правильно в коде поставить скобки, чтобы он делал по очереди, а не что то одно (bubble sort). Вот код: как мне правильно скобки поставить?
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#define N 100
using namespace std;
 
//-----------------------------------КАК ТУТ СКОБКИ ПРАВИЛЬНО ПОСТАВИТЬ?------------------------------
int shakersort(int n, int mas[]){
    int i,j,k, sort, cc=1, c;
    for(i = 1; i < n && cc; i++)
        {cc=0;
        for(j = 0; j < n - i; j++)
        { 
            if(mas[j] > mas[j + 1])
            {
                sort = mas[j];
                mas[j] = mas[j + 1]; 
                mas[j + 1] = sort;
                c=c+1; 
                cc=1; 
            }
        
        for(k = 0; k < n; k++)
            cout<<mas[k]<<" ";
            cout<<endl;
        }
       
        if(mas[j] < mas[j - 1])        
        { 
            for(j = n-1; j >= n-i; j--)
            {
                sort = mas[j];
                mas[j] = mas[j - 1]; 
                mas[j - 1] = sort;
                c=c+1; 
                cc=1; 
        }
        for(k = 0; k < n; k++)
            cout<<mas[k]<<" ";
            cout<<endl;
        }
        cout<<endl;
        }
    return 0; 
}
  
void mas_vvod (int n, int mas[]){
    int i;
    cout<<"mas[0]= ";
    cin>>mas[0];
    cout<<"mas[1]= ";
    cin>>mas[1];
    cout<<"mas[2]= ";
    cin>>mas[2];
    cout<<"mas[3]= ";
    cin>>mas[3];
    cout<<"mas[4]= ";
    cin>>mas[4];
    cout<<"mas[5]= ";
    cin>>mas[5];
}
    
 
void mas_vivod(int n, int mas[]) {
    for( int i = 0; i < n; i++)
    cout << mas[i] << " ";
    cout << endl;
}
 
int main()
{
    int mas[N];
    int n;
    cout<<"masiva razmer n= ";
    cin>>n;
    mas_vvod(n, mas);
    mas_vivod(n, mas);
    shakersort(n, mas);       
    system("Pause>>nul");
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.04.2017, 20:47
Ответы с готовыми решениями:

BubbleSort
Напишите пожалуйста функцию сортировки бульбашкой. Спасибо

Описание каждого хода в BubbleSort
Здравствуйте. Помогите, пожалуйста, сделать так, чтобы описывалась каждая сортировка постепенно и потом результат, а не сразу конечный...

Получается копирование вместо перемещения
У меня Excel 2007 (12.0.6661.5000) SP3 MSO (12.0.6662.5000). Проблема моя в том, что я пересел на эту версию с офиса 2003. Но я то-ли...

2
10.04.2017, 21:02

Не по теме:

Цитата Сообщение от MaksimLev Посмотреть сообщение
не получается сделать shaker .. получается bubble sort
афганские ученые хотели изобрести что-то новое, но постоянно получается героин :D

0
0 / 0 / 1
Регистрация: 14.02.2017
Сообщений: 102
11.04.2017, 20:43  [ТС]
Kastaneda,

Добавлено через 1 час 49 минут
Кто-нибудь знает как правильно скобки поставить?

Добавлено через 14 часов 11 минут
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2017, 20:43
Помогаю со студенческими работами здесь

Не получается получил number, вместо string
Добрый день. Возникла такая проблема, что не могу получить код буквы, которая будет введена в форму, вместо неё получаю саму букву. Как...

В поле OLE вместо Bitmap Image получается Package
И вместо самой картинки отображается название документа

Выпишите состояние списка после каждого прохода алгоритма BubbleSort
Выпишите состояние списка после каждого прохода алгоритма InsertionSort. 2. Выпишите состояние списка после каждого прохода...

Вместо горизонтального меню с выпадающим подменю почему-то получается вертикальное
Вместо горизонтального меню с выпадающим подменю почему-то получается вертикальное Помогите понять где ошибка? body{ ...

Не получается настроить открытие doc и docx файлов 2016 вордом вместо 2007 ворда
Проблема следующая: на компьютере одновременно установлены 2007 офис и 2016 офис. Необходимо, чтобы файлы doc и docx открывались вордом...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru