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

Трехпутевая поразрядная быстрая сортировка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Использование указателей при работе с одномерными массивами http://www.cyberforum.ru/cpp-beginners/thread268830.html
Реализовать на Си. Даны натуральное число n, действительные числа a1,...,an. Если последовательность a1,...,an упорядочена по убыванию(т.е. если a1<=a2<=...<=an), то оставить ее без изменения. Иначе получить последовательность an,...,a1. Для решения этой задачи полезен список, изображенный на рисунке.
C++ занесение в файл результатов в С++ Народ! Нужна помощь...В общем есть программка в С++, условие следующее..."Создать класс, содержащий некоторые данные. В классе должны быть реализованы след. методы: ввод данных, вывод, выборка по условию; Класс "Предприятие" содержит: ФИО, номер отдела, должность, дату начала работы....Вывести список сотрудников по отделам в порядке убывания стажа..." Так вот, программка работает, все условия... http://www.cyberforum.ru/cpp-beginners/thread268819.html
C++ Не инициализируется массив
Мужики помогите, ошибка какая-то. Работаю в visual studio 2008 express SP2 Вот кусок кода: #define JE 122 ... float ez_inc,hx_inc; for (j=0;j<=JE;j++) { ez_inc=0.0F; hx_inc=0.0F;
Не работает проверка по побочной диагонали! C++
Очень нужна помощь! Я пишу крестики нолики на большом поле(там до 5 вряд) и застрял на проверке победы. У меня проверяет на победу по горизонтали, вертикали и главной диагонали , А ПО ПОБОЧНОЙ ПОЧЕМУ-ТО НЕ РАБОТАЕТ. Никак не могу понять почему. Помогите пожалуйста!! Очень надо. Мое поле это двумерный массив POLE. Где Нулевый столбец и строка заняты нумерацией. Вот код на проверку по...
C++ Текст и числа в одной переменной http://www.cyberforum.ru/cpp-beginners/thread268808.html
Как организовать следующее: программа просит пользователя ввести имя файла (имя может содержать цифры), потом к этому имени прибавляется какое - либо число или строка, или символ. После этого программе говориться чтобы она записала такой-то (исходя) файл на диск Д. #include<iostream> #include<fstream> #include<string> using namespace std; int main() {setlocale(LC_ALL, "Russian");
C++ Пузырьковая сортировка Здравствуйте хочу разобраться в сортировках....нашла пример в книге.....но почему то она не работает....если не сложно объясните ошибки.спасибо // пузырьковая сортитровка.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <conio.h> #include "iostream" using namespace std; подробнее

Показать сообщение отдельно
Allexina
Сообщений: n/a
02.04.2011, 15:05     Трехпутевая поразрядная быстрая сортировка
Выдает несколько ошибок, исправляла, все равно не работает
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
82
83
84
#include <vcl.h>
#pragma hdrstop
#include <time.h>
 
#include "Unit1.h"
#include "SortMarking.cpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 
#define ch(A) digit(A, d)
int N = 10000;
int* Mas1;
void generator(int maxN);
 
template <class Item>
void quicksortX(Item a[], int l, int r, int d)
  { 
    int i, j, k, p, q; int v;
    if (r-l <= M) { insertion(a, l, r); return; }
    v = ch(a[r]); i = l-1; j = r; p = l-1; q = r;
    while (i < j)
      { 
        while (ch(a[++i]) < v) ;
        while (v < ch(a[--j])) if (j == l) break;
        if (i > j) break;
        exch(a[i], a[j]);
        if (ch(a[i])==v) { p++; exch(a[p], a[i]); }
        if (v==ch(a[j])) { q--; exch(a[j], a[q]); }
      }
    if (p == q)
      { if (v != '\0') quicksortX(a, l, r, d+1);
        return; }
    if (ch(a[i]) < v) i++;
    for (k = l; k <= p; k++, j--) exch(a[k], a[j]);
    for (k = r; k >= q; k--, i++) exch(a[k], a[i]);
    quicksortX(a, l, j, d);
    if ((i == r) && (ch(a[i]) == v)) i++;
    if (v != '\0') quicksortX(a, j+1, i-1, d+1);
    quicksortX(a, i, r, d);
  };
 
 
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::N1Click(TObject *Sender)
{
  time_t start;
  AnsiString s;
 
  start = clock();
  generator(N);
  Memo1->Lines->Add("ÈñõîГ*ûé Г¬Г*Г±Г±ГЁГў:");
  for(int i = 0; i<N; ++i) s = s + " " + IntToStr(Mas1[i]);
  Memo1->Lines->Add(s);
  quickSortX(Mas1, 0, N - 1, 3);
  Memo1->Lines->Add("");
  Memo1->Lines->Add("ÎòñîðòèðîâГ*Г*Г*ûé Г¬Г*Г±Г±ГЁГў:");
  s = "";
  for(int i = 0; i<N; ++i) s = s + " " + IntToStr(Mas1[i]);
  Memo1->Lines->Add(s);
  Memo1->Lines->Add("");
  Memo1->Lines->Add("Ïðîøëî " + AnsiString((clock() - start)/CLOCKS_PER_SEC) + " Г±ГҐГЄГіГ*Г¤.");
}
 
void generator(int maxN)
  {
    randomize();
    if(maxN<=0) return;
 
    if((Mas1=(int *)calloc(maxN,sizeof(int)))==NULL)
      {
        ShowMessage("Out of memorry!") ;
        exit(1);
      }
 
    for(int c=0;c<maxN;++c) Mas1[c]= random(1000) - random(1000);
  }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru