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

Пирамидальная сортировка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Преобразовать двумерный массив в одномерный http://www.cyberforum.ru/cpp-beginners/thread1122061.html
Дано двумерный массив a. Необходимо создать одномерный массив b, располагая в нем элементы по соответствующей схеме
C++ Задача на двумерные массивы Найти среднее арифметическое положительных элементов каждого столбца Есть почти готовое решение, но, оно только правильное когда элементы столбцов больше 0 (>0) #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int **a, m, n; int sum; void Input_A(); http://www.cyberforum.ru/cpp-beginners/thread1122059.html
Написал программу, но она что-то не совсем то, выдает, не могу понять в чем проблема C++
При х=3, y= -6 после выполнения фрагмента алгоритма 1. если y<x, то y=y+x 2.если y<0, то y=-y 3. если x<0, то a=x*2 иначе a=x*y 4. если a<y, то a=a+y/2 значение A будет равно... Помогите разобраться,написал программу, но она что-то не совсем то, выдает, не могу понять в чем проблема, либо я не правильно понял условие.
сделать программу для решения дифференциальных уравнений C++
Нужна сделать программу для решения дифференциальных уравнений 1)(1+x2)dy+ydx=0,y=1 при x=1; 2)y|=tgx*tgy; программу сделать я смогу сам. ну как (по каким формулам) решать дифференциальные уравнения я незнаю кто знает объясните пожалуйста
C++ Сформировать квадратную матрицу http://www.cyberforum.ru/cpp-beginners/thread1122022.html
Люди, очень надеюсь на вас. Спасибо Сформировать квадратную матрицу порядка n по заданному образцу
C++ Дана матрица размерности nxm целых чисел. Найти наибольшее из них и вывести его индексы Дана матрица размерности nxm целых чисел. Найти наибольшее из них и вывести его индексы. #include <iostream> #include <cstdlib> using namespace std; int main() { int i,j,max_znach; int massiv; for (i=0;i<n;i++) for (j=0;j<m;j++) massiv=rand(); подробнее

Показать сообщение отдельно
smuglik26
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 4
17.03.2014, 19:47     Пирамидальная сортировка
Добрый Вечер!
Нужно сделать Пирамидальную сортировку. Немного получилось, но программа работает так как хотелось бы. Не сортирует последний шаг.
Не могу найти в чем ошибка. Прикрепил код, помогите кому не сложно.
Заранее спасибо!
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>
using namespace std;
void Heapify(int A[], int i, int heapsize);
void HeapSort(int A[], int heapsize);
void BuildHeap(int A[], int heapsize);
int main()
{
    const int heapsize = 6;
    int A[] = { 1, 6, 45, 7, 2, 3 };
    for (int i = 0; i <= heapsize - 1; i++)
    {
        cout << A[i] << endl;
    }
    HeapSort(A, heapsize);
    cin.get();
    return 0;
}
int Parent(int i)
{
    return ((i-1) / 2);
}
int Left(int i)
{
    return (2 * i + 1);
}
int Right(int  i)
{
    return (2 * i + 2);
}
void Heapify(int A[], int i, int heapsize)
{
    int l = Left(i),
        r = Right(i),
        largest, temp;
    if (l <= heapsize && A[l] > A[i])
    {
        largest = l;
    }
    else
    {
        largest = i;
    }
    if (r <= heapsize && A[r] > A[i])
    {
        largest = r;
    }
    
    if (largest != i)
    {
        temp = A[i];
        A[i] = A[largest];
        A[largest] = temp;
        Heapify(A, largest, heapsize);
    }
}
void BuildHeap(int A[], int heapsize)
{
    for (int i = (heapsize-1)/2; i >= 0; i--)
    {
    Heapify(A, i, heapsize);
    }
}
void HeapSort(int A[], int heapsize)
{
    int temp;
    BuildHeap(A, heapsize);
    cout << "mass:  ";
    for (int j = heapsize - 1; j >= 0; j--)
    {
        cout << A[j] << " ";
    }
    for (int i = heapsize; i > 0; i--)
    {
        temp = A[i];
        A[i] = A[heapsize - 1];
        A[heapsize - 1] = temp;
        heapsize = heapsize - 1;
        Heapify(A, i, heapsize);
 
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru