Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 15.08.2019
Сообщений: 23
1

Рекурсия

15.08.2019, 20:27. Показов 1326. Ответов 1
Метки нет (Все метки)

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
#include <iostream>
#include <random>
#include <time.h>
#include <conio.h>
#include <Windows.h>
 
 
using namespace std;
 
template <typename T>
void QuickSort(T arr, int l, int r)
{
    int i,j;
    i = l;
    j = r;
    int middle = arr[(i+j)/2];
 
    do
    {
        while(middle > arr[i]) i++;
        while(middle < arr[j]) j--;
 
        if(i <= j)
        {
            swap(arr[i],arr[j]);
            i++;
            j--;
        }
    
    }while(i < j);
 
    if(i < r) QuickSort(arr,i,r);
    if(j > l) QuickSort(arr,l,j);
 
}
template <typename t>
void Swap(t *a, t *b)
{
    t s;
    s = *a;
    *a = *b;
    *b = s;
}
 
int main()
{
    setlocale(LC_ALL , "Russian");
 
    srand(time(NULL));
    int n = 2000000;
    int *a = new  int[n];
    
    double t1 = clock(); 
    for (int i(0); i < n - 1; i++)
    {
        a[i] = rand() %2;
    }
    QuickSort(a[n],0,n-1);
    //for (int i(0); i < n - 1; i++)
    //{
    //  //Sleep(0.5);
    //  cout << "  " << a[i] << "  ";
    //  for (double j(0); j < 7; j=j+0.1)
    //  {
    //      
    //      cout << "  " << a[i] << "  ";
    //  }
    //  cout << endl;
    //}
    double t2 = clock() - t1;
    cout << "время в секундах проход циккла: " << t2/CLOCKS_PER_SEC << endl;
 
    _getch();
    return 0;
}
а вот ошибка

1>------ Сборка начата: проект: 17.Рекурсия, Конфигурация: Debug Win32 ------
1>Source.cpp
1>c:\users\bino4\onedrive\документы\c++ tutorials\программы\17.рекурсия\17.рекурсия\source.cpp(107): warning C4244: аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных
1>c:\users\bino4\onedrive\документы\c++ tutorials\программы\17.рекурсия\17.рекурсия\source.cpp(109): error C2440: инициализация: невозможно преобразовать "int *" в "int"
1>c:\users\bino4\onedrive\документы\c++ tutorials\программы\17.рекурсия\17.рекурсия\source.cpp(109): note: Не существует контекста, в котором такое преобразование возможно
1>c:\users\bino4\onedrive\документы\c++ tutorials\программы\17.рекурсия\17.рекурсия\source.cpp(114): error C2109: для индекса требуется массив или указатель
1>c:\users\bino4\onedrive\документы\c++ tutorials\программы\17.рекурсия\17.рекурсия\source.cpp(116): error C2109: для индекса требуется массив или указатель
1>c:\users\bino4\onedrive\документы\c++ tutorials\программы\17.рекурсия\17.рекурсия\source.cpp(116): error C2672: "QuickSort": не найдена соответствующая перегруженная функция
1>Сборка проекта "17.Рекурсия.vcxproj" завершена с ошибкой.
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

как исправить??
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.08.2019, 20:27
Ответы с готовыми решениями:

Рекурсия. Рекурсия с мемоизацией
Добрый день. Задача такова: У нас есть массив для длины строки (пусть будет M=20). У нас есть некие...

Рекурсия
Привет. Только что узнал,что такое рекурсия и понял как она работает,но написать участок кода с...

рекурсия в С++
Изучаю использование рекурсивной функции в С++. Правильно ли я понял: - что нет ограничений в max...

Рекурсия
Не совсем разобрался с заданиями помогите!

1
Модератор
Эксперт С++
10871 / 8990 / 5408
Регистрация: 18.12.2011
Сообщений: 24,030
15.08.2019, 20:36 2
Лучший ответ Сообщение было отмечено bino47 как решение

Решение

Цитата Сообщение от bino47 Посмотреть сообщение
QuickSort(a[n],0,n-1);
C++
1
QuickSort(a,0,n-1);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.08.2019, 20:36

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Рекурсия
Подскажите пожалуйста!Для заданного одномерного массива B из N элементов найти сумму выражений,...

Рекурсия
Помогите. Не могу понять в чем проблема. Вот Задание : В каждом варианте задания дана...

рекурсия B c++
пожалуйста помогите,почему не работает? дело в рекурсии,функция func1 вызывается много раз.. ...

C++ Рекурсия
Через рекурсию) Если можно, то исправьте код) ...

рекурсия
Добрый вечер! Пожалуйста, помогите разобраться с рекурсией. Как ее вычислять, когда у меня есть...

Рекурсия
Привет, помогите пожалуйста надо вычислить рекурсивную функцию :...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.