Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Блинная сортировка массива, не сортируется последний элемент - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка: нарушение прав доступа при чтении по адресу http://www.cyberforum.ru/cpp-beginners/thread1499096.html
Код: #include <SFML/Graphics.hpp> int M = 3; int N = 3; int Scale = 100; int w = Scale*M; int h = Scale*N;
C++ Указатель в списке ссылается на себя, а не на следующий элемент Уважаемые, форумчане! Помогите разобраться в вопросе. Я хочу реализовать стек(добавление элемента) на основе односвязного списка. Предварительно почитав как это делается, я решил а почему бы не... http://www.cyberforum.ru/cpp-beginners/thread1499047.html
C++ Определить событие появления сообщения в программе
Здравствуйте, необходимо написать программу, которая определяет момент появление ошибки в другом приложении (появляется окно с сообщением, по всей видимости WinAPI). Подскажите, в каком направлении...
C++ Push_back вектора по указателю - возможно ли
Я хочу объявить вектор в одной функции и работать с ним методами в другой. Самый простой путь - объявить вектор глобально, что мне не очень нравится. Второй путь - передать в функцию копию...
C++ Не видно определений функций при раздельной компиляции http://www.cyberforum.ru/cpp-beginners/thread1498999.html
Описал класс и его наследника в заголовочном файле; самые громоздкие определения функций вынес в отдельные файлы, однако при компиляции/сборке эти определения не видно из файла с "main". Здесь...
C++ Const-параметры в аргументах функции void setAmount(const int _amoutn) А тут уже const излишен, перебор. Добавлено через 3 минуты void setDescription(const std::string& _description) { m_description = _description; } //...... подробнее

Показать сообщение отдельно
kozlik_kozlik
7 / 11 / 0
Регистрация: 01.08.2012
Сообщений: 99
15.07.2015, 12:02
vua72, так нечестно, пусть сам страдает XD

Добавлено через 54 секунды
Ну и если уж на то пошло...
C++ (Qt)
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
#include <iostream>
#include<windows.h>
#include <conio.h>
#include <ctime>
using namespace std;
 
int maximal_index(int n, int array[])
{
    int max_index=0;
 
    for(int i=0;i<n;i++)
    {
        if(array[i]>array[max_index])
            max_index=i;
    }
 
    return max_index;
 
}
 
void array_printout(int ar[], int N)
{
    for (int i=0; i<N; i++)
        cout << ar[i] << "\t";
    cout << endl;
}
 
int main() {
    //pancakes
    //srand(time(0));
    const int n=10;
 
 
    //создаём массив, заполняем, выводим
    int arr[n],max=0,a=0;
    for(int i=0;i<n;i++){
        arr[i]=5+rand()%40;
        //cout<<" "<<arr[i]<<"--";
    }
    array_printout(arr, n);
 
 
    for(int j=n-1-a;j>=0;j--)
    {
        cout << endl << a+1 << " iteration" << endl;
 
        max=maximal_index(n-a, arr);
 
        cout<<max<<"+"<<endl;
        cout<<arr[max]<<endl;
        cout<<endl<<endl;
 
//чтобы не вертеть, если максимальное значение уже на своём месте
        if (!(max==j))
        {
//переворачиваем массив от максимального значения до хвоста, точнее тех элементов, которые уже отсортированы
            for(int j=n-1-a,i=max;i<j;i++,j--)
            {
                swap(arr[j],arr[i]);
                //cout<<arr[i]<<"++";
            }
 
 
            cout << "after swap of end..." << endl;
            array_printout(arr, n);
        }
 
        a++;
 
    }
 
    for(int i=0;i<n;i++)
        cout<<arr[i]<<endl;
    getch();
    return 0;
}
Надо будет - сам заменишь функции на циклы.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru