Поиск k-ой порядковой статистики

290
20 октября 2017, 14:48

Здравствуйте. Помогите найти пожалуйста ошибку в реализации поиска k-ого элемента в массиве по неубыванию для чисел значение которых равно формуле:

,

где A,B,C ,a1,a2 мы задаем сами.

#include "stdafx.h"
#include <iostream>
using namespace std;
int partition(int a[], int left, int right)
{
    int marker = left;
    for (int i = left; i <= right; i++)
    {
        if (a[i] <= a[right])
        {
            swap(a[marker], a[i]);
            marker++;
        }
    }
    return marker - 1;
}

int finder(int a[] , int k , int n)
{
    int left = 0, right = n - 1;
    while (true)
    {
        int mid = partition(a, left, right);
        if ((mid) == (k))
        {
            return a[mid];
        }
        else if (k < mid)
        {
            right = mid - 1;
        }
        else
        {
            left = mid + 1;
        }
    }
}
int main()
{
    int n, k;
    int a[3 * 10000], A, B, C;
    cin >> n >> k;
    k--;
    if (n == 1)
    {
        cin >> A >> B >> C >> a[0];
        in.close();
    }
    else
    {
        cin >> A >> B >> C >> a[0] >> a[1];
        for (int i = 2; i < n; i++)
        {
            a[i] = A * a[i - 2] + B * a[i - 1] + C;
        }
    }
    if (n == 1)
    {
        cout << a[0];
    }
    else
    {
        cout << finder(a, i, n) << endl;
    }
    return 0;
}
READ ALSO
Правильно ли реализован шаблон?

Правильно ли реализован шаблон?

Работает как очистка памяти и все остальные шаблоны, без указания размера и типа, но правильно ли реализованы сами шаблоны?

235
ошибка при использовании typedef

ошибка при использовании typedef

В данном коде компилятор выдает следующую ошибку:

268
Обновить XML-файл средствами QDomElement

Обновить XML-файл средствами QDomElement

Есть XML-файл со следующей структурой:

275
Код, по-разному работающий в C++03 и C++11/14

Код, по-разному работающий в C++03 и C++11/14

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

324