Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2010, 18:07   #1
nunj39
 
Регистрация: 24.05.2010
Сообщений: 3
По умолчанию Пирамидальная сортировка

Здраствуйте всем =)
вот думал думал и решил попросить вашей помощи...
есть исходник кода
вот
Код:
#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;
const int n=20;
void Piramid_sort(const int x[n]);
void Ballance(int* x, int O, int n,int &i,int &j)
{
int Deti;
if (n==0)
{
return;
}
int TEMP=x[O];
j++;
while(O<=n/2)
{
Deti=2*O;
j++;
if((Deti<n)&&(x[Deti]<x[Deti + 1]))
{
Deti++;
}
if(TEMP>=x[Deti])
{
break;
}
x[O]=x[Deti];
i++;
O=Deti;
j+=2;
}
x[O]=TEMP;
j++;
}
void Piramid_sort(const int x[n])
{
int MASS[n];
for(int i=0;i<n;i++)
MASS[i]=x[i];
int num=0,sum=0;
double Begin=clock();
int i=0;
for(i=n/2-1;i>=0;i--)
{
Ballance(MASS,i,n-1,num,sum);
}
for(i = n-1;i>=1;i--)
{
int TEMP;
TEMP=MASS[0];
MASS[0]=MASS[i];
MASS[i]=TEMP;
num++;
sum+=3;
Ballance(MASS,0,i-1,num,sum);
}
}
void main()
{
setlocale(0,"");
srand(time(NULL));
int *MASS;
if((MASS=(int*)malloc(n*sizeof(int)))==NULL)
{
cout<<"error";
exit(1);
}
for(int i=0;i<n;i++)
{
MASS[i]=rand()%100;
}
cout<<"Массив cлучайных чисел:"<<endl;
for(int i=0;i<n;i++)
{
cout<<MASS[i]<<" ";
}
cout<<endl;
cout<<"пирамидальная сортировка"<<endl;
Piramid_sort(MASS);
cout<<"Полученный массив чисел:"<<endl;
for(int i=0;i<n;i++)
{
cout<<MASS[i]<<" ";
}
cout<<endl;
}
суть задачи заключается в том,что есть динамич массив из 20 элементов,отсортированый случ. образом
нужно отсортировать пирамидой (т.е. пирамидальная сортировка)
подскажите пожалуйста, у меня не происходит сортировка
подскажите, если можно, то сразу кодом, просто нужно сдать сразу,как получится,а голова уже отсохла

спасиб за внимание

Последний раз редактировалось MaTBeu; 21.06.2010 в 18:19.
nunj39 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пирамидальная сортировка QuadroX Фриланс 7 26.05.2010 20:16
Пирамидальная сортировка GaLiof Помощь студентам 1 28.03.2010 12:24
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57
Пирамидальная Сортировка super-leon Помощь студентам 0 02.10.2009 20:52
Сорт.дерево и пирамидальная сортировка Санёк20 Паскаль, Turbo Pascal, PascalABC.NET 1 25.02.2008 18:22