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

Метод быстрой сортировки: нужно исправить! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача на постройку структуры и отсортировка в ней файлов прошу помоч ! http://www.cyberforum.ru/cpp-beginners/thread417054.html
Задача: Задан список файлов в папке, для каждого из которых указаны имя, расширение размер и дата его создания. Реализовать сортировку по возрастанию и убыванию по всем характеристикам и подсчет суммарного объема. Помогите как ее начать хотябы делать а то я структуры ваще не понимаю... буду благодарен за шаблон или чтото вроде того))
C++ Написать программу, в основу которой положен список Написать программу, в основу которой положен список дней рождений (число, месяц, год) своих родных и друзей. Программа должна работать в следующих режимах: 1) пополнение списка; 2) поиск дня рождения по имени; 3) определение всех именинников, родившихся в заданном месяце (поиск по месяцу). Выводимая информация кроме имени и даты должна содержать количество лет, исполняющихся имениннику в... http://www.cyberforum.ru/cpp-beginners/thread417049.html
C++ Помогите исправить ошибку.....
#include<stdio.h> #include<ctype.h> #include<math.h> #include<string> #include<iostream> #include<stdlib.h> #define size_str 80 #define size_var 3 #define size_max 100 #define size_variable 100
C++ Найти и записать в выходной файл слова, в которых нет повторяющихся букв
Привет всем! У меня такая задачка: В произвольном тексте входного файла, содержащем не более 10 строк, в каждой строке не более 80 символов, найти и записать в выходной файл слова, в которых нет повторяющихся букв. Нашел на форумах вот такую прогу которая выводит слова, в которых нет повторяющихся букв или буквы слова упорядочены по алфавиту. как её можно переделать под мои нужды? помогите...
C++ сортировка структуры. http://www.cyberforum.ru/cpp-beginners/thread417035.html
Возникла проблема при сортировке. возможно в коде есть и моя ошибка. ну суть в том, что он не работает. нужно отсортировать названия пиццы в алфавитном порядке. вот код. #include <iostream.h> #include <conio.h> #include <stdlib.h> struct TFitnes
C++ C++ ругается на конструктор! Как исправить ? Помогите с конструктором! Как вообще его обявлять? #include "stdafx.h" #include <string> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) { string s="ZOMG"; подробнее

Показать сообщение отдельно
Alex_Faru
0 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 11
25.12.2011, 17:04     Метод быстрой сортировки: нужно исправить!
Помогите исправить ошибку. Само задание описано в комментах в программе, но написанная мной функция неверно отсортировывает массив D. Это срочно. Решение мне нужно сегодня. Очень прошу, помогите.
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include "stdafx.h"
#include "conio.h"
#include "time.h"
 
 
 
//Вариант 21.
// Ввести массивы А В и С. В массив D записать элементы А В С, которые встречаются во всех трёх массивах. 
//Отсортировать элементы A B C D по возрастанию с помощью быстрой сортировки.
 
 
//--------------------объявление функции-------------------------
void qs(int* m,int first, int last);
//---------------------------------------------------------------
 
int _tmain(int argc, _TCHAR* argv[])
{   
////////////////
    int A[10];//
    int B[10];//-----> инициализация массивов (одномерные, в каждом 10 элементов).
    int C[10];//
    int D[10];//
////////////////
 
//-----------------------ЗАПОЛНЕНИЕ МАССИВОВ-------------------//
//==============================================================
    for (int i=0; i<10; i++) 
    {                        
        A[i]= i+1;           
        B[i]= 10-i;          
        C[i]=(i+1)*2;        
    }
 
//-------------СОРТИРОВКА МАССИВОВ А, В, С, D-----------------//
//==============================================================
    qs(A, 0, 9);
    qs(B, 0, 9);
    qs(C, 0, 9);
//----------------------ЗАПОЛНЕНИЕ МАССИВА D-------------------//
//==============================================================
for (int b=0; b<10; b++)
    D[b]=0;
    for (int j=0; j<10; j++)
    {
        for (int k=0; k<10; k++)
        {
            for (int m=0; m<10; m++)
            {
                if ( C[m]==B[k] && B[k]==A[j])
                {
                    D[j]=C[m];
                }
    
            }
        }
    }
//---------------------СОРТИРОВКА МАССИВА D--------------------//
//==============================================================
    qs(D, 0, 9);
//-------------------ВЫВОД МАССИВОВ А, В, С--------------------//
//==============================================================
printf ("Massive A:\n");
for (int a=0; a<10; a++)
        printf ("%d\n", A[a]);
printf ("Massive B:\n");
for (int b=0; b<10; b++)
        printf ("%d\n", B[b]);
printf ("Massive C:\n");
for (int c=0; c<10; c++)
        printf ("%d\n", C[c]);
//----------------------ВЫВОД МАССИВА D-----------------------//
//==============================================================
printf ("Massive D:\n");
 
for (int n=0; n<10; n++)
    {
        printf ("%d", D[n]);
        printf ("\n");
    }
//==============================================================
    _getch();
    return 0;
}
 
void qs(int* m,int first, int last)
{
 int i = first; 
 int j = last; 
 int p=m[(first + last)/2];
 int tmp;
 do {
 while (m[i] <= p) ++i;
 while (m[j] >= p) --j;
 
 if(i <= j) 
 {
    if(i<=j)
    {
        tmp=m[i];
        m[i]=m[j];
        m[j]=tmp;
        i++; j--;
    }
 }
    } while(i<=j);
      if(last<=j) qs(m,last,j);
      if(i<=first) qs(m,i,first);
 }
Добавлено через 1 час 22 минуты
Видимо я поспешил в создании сообщения: код написан на C++ для консольного приложения. Ещё раз прощу - помогите! Очень нужно!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru