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

Как вызвать функцию, которая производит быструю сортировку - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ простые (или не очень)..... http://www.cyberforum.ru/cpp-beginners/thread77177.html
Всем доброго времени суток! Помогите пожалуйста решить вот такие вот задачки: 1) Записать положительные элементы массива X подряд в массив Y. Определить k-количество положительных элементов. Вычислить сумму элементов массива X и произведение элементов Y. 2) Календарь. (При решении задач принять во внимание, что в современном (григорианском) календаре каждый год, номер которого делится на 4,...
C++ модули программы Всем привет помогите пожалуйста с этим плиз заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread77174.html
C++ Что такое DYNAMIC ?
Дабы не создавать кросс-постинга, вот ссылка на тему: http://www.cyberforum.ru/cpp-builder/thread76403.html#post429388 К сожалению, как мне кажется, мало людей читает ветку Builder; и DYNAMIC может и не иметь прямого отношения к этой среде разработки.
Редактирование предложения. C++
Здравствуйте. Есть задача. Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами. Пример: HOW DO YOU DO – OD OD. Я вроде бы сделал, но некорректный результат выводит помогите отыскать ошибку #include <stdio.h> #include <conio.h> #include <string.h> #define MAX_STRINGS 40
C++ Старо японский календарь http://www.cyberforum.ru/cpp-beginners/thread77143.html
Всем привет. Прошу помочь, подскажите при помощи чего можно избежать громозкого кода. Погуглил нашел только код написаный на Pascal. Задача: В старояпонском календаре был принят двенадцатилетний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. Написать программу, которая позволяет ввести номер года и...
C++ Определить, может ли белая фигура пойти на поле Пожалуйста помогите, очень презнателен... 1. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число – номер вертикали (при счете слева направо), второе – номер горизонтали (при счете снизу вверх). С помощью датчика случайных чисел получить натуральные числа a, b, c, d, e, f, каждое из которых не превосходит восьми. Пусть на поле... подробнее

Показать сообщение отдельно
JuliaSt
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 4
15.04.2012, 22:39     Как вызвать функцию, которая производит быструю сортировку
Доброго времени суток!
Уменя большая просьба о помощи. Нужно создать функцию быстрой сортировки для массива символьных строк. Вот код программы. У меня на 12 строке программа всегда прекращяет свою роботу. Никак не могу понять в чём ошыбка. Может быть кто-то мне подскажет)
Большое спасибо наперед за помощь!!!



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<string.h>
#include<windows.h>
#define n 10
void QuickSort_alpha(char *mas[], int left, int right)
{   
        int i, j, p;
        сhar *tmp[n];
    i=left; 
    j=right;        
    while (i!=j){
        if((strcmp(mas[i],mas[j])>0)!=(i>j)){       
                        tmp[i]=mas[i];      
            mas[i]=mas[j];
                mas[j]=tmp[i];
            
            p=i;    
            i=j;        
          
            if (p<j)    
                              j=p+1;
            else j=p-1;
        }else{
            if (i<j) j--; 
        else j++;
        };
    };
    
    if (left<i-1) QuickSort_alpha(mas,left,i-1);
    if (i+1<right) QuickSort_alpha(mas,i+1,right);
}
 
 
int main(void)
{
    SetConsoleOutputCP(1251);
    char mstr[n][n],*pmstr[n];
    int i=0, k=0, c=0;
    printf("\n\n Введите не больше %d слов(конец ввода-символ *):\n",n);
        
    for(;i<n;i++)
    {
        scanf("%s",mstr[i]);
        if (mstr[i][0]=='*') break;
    }
        
    for(;c<i;c++) pmstr[i]=mstr[i];
    
    QuickSort_alpha(pmstr, 0, i);
        
    puts("\n\n Отсортировано методом Хоара:\n");
    for(;k<i;k++) puts(mstr[k]);
    printf("\n Было введено %d строк\n\n[C]
.", i);

}[/C]
 
Текущее время: 11:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru