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

Быстрая сортирвока методом Хоара с использованием индексного массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Интерполяция линейными сплайнами http://www.cyberforum.ru/cpp-beginners/thread870176.html
Немогу никак разобратя с этим методом. Кто может помогите срочно (сайты или код) очень нужно!!!
C++ Работает ли Кириллица с классами? Почему-то всё корректно отображается на русском, кроме параметра, который выходит из класса. main.h: class Person { public: Person(int ID, char* data, bool Pol, double age); Person(): m_Id(0), m_Pol(false), m_Age(0.0) { m_data='\0';} void Print(); void input(); http://www.cyberforum.ru/cpp-beginners/thread870154.html
Вычисление функции методом разложения в ряд C++
#include <iostream> #include <cmath> #include <iomanip> #include <clocale> using namespace std; int main() { setlocale(LC_ALL,"rus");
Разработать класс и производный класс C++
Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты.
C++ Вычисление функций с использованием их разложения в степенной ряд http://www.cyberforum.ru/cpp-beginners/thread870135.html
Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в двух случаях: а) для заданного n; б) для заданной точности e (e=0.0001). Для сравнения найти точное значение функции.
C++ Графы. База Дуг. Полный Перебор Необходимо реализовать поиск минимальной базы дуг полным перебором. Не могли бы натолкнуть меня, как сделать тот самый полный перебор, а то никак не соображу. Как по очереди добавлять дуги? Если не затруднит, пожалуйста, напишите на естественном языке как это сделать? К примеру, есть дуги(матрица 3*3): (1,2)(1,3)(2,3)(3,1). Просто, как сделать так, чтобы мы просматривали сначала только... подробнее

Показать сообщение отдельно
Laertik
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 19
19.05.2013, 17:15     Быстрая сортирвока методом Хоара с использованием индексного массива
Есть структура - и эту структуру надо отсортировать по b QuickSortom'ом.

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
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <conio.h>
#include <string.h>
#include <iostream> 
struct BaseRec
{
    char a[30];
    unsigned short int b;
    char c[10];
    char d[22];
    
};
void BuildQuickByInvestions(BaseRec *base, int *a, int start, int end)
{
    BaseRec x = base[a[start]];
    int i = start,j = end,temp;
    while(i<=j)
    {
        while(base[a[i]].b < x.b) i++;
        while(base[a[j]].b > x.b) j--;
        if (i<=j) 
        {
        temp = a[i];
        a[i] = a[j];
        a[j] = temp;
        i++;
        j--;
        }
    
    if ( start<j ) BuildQuickByInvestions ( base, a, start, j );
    if ( i<end ) BuildQuickByInvestions ( base, a, i, end);
}
}
 main()
    FILE *base = fopen("testBase3.dat","rb");
    int i = 0, *indexArr;
    indexArr = new int[4000];
    for(i = 0;i < 4000; i++)
    indexArr[i] = i;
    if(base == NULL)
    {
        std::cout << "ERROR_1";
        //return;
    }
    BaseRec *temp = new BaseRec[4000];
    i=0;
    fread(temp,sizeof(BaseRec),4000,base);
    BuildHeapByInvestions(temp,indexArr,2000-1,4000);
 
    getch();
    }
Файл с записями существет.В нем есть 4000 записей.

При запуске ничего не выдает - запускается консоль и сразу ошибка.
Укажите,пожалуйста,где ошибка.

Добавлено через 1 час 42 минуты
ап!

Добавлено через 1 час 38 минут
ап!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru