Технический форум

Технический форум (http://www.tehnari.ru/)
-   C/C++/С# (http://www.tehnari.ru/f42/)
-   -   Помогите доделать задание на C++ (http://www.tehnari.ru/f42/t258946/)

Олександра 02.04.2018 21:57

Помогите доделать задание на C++
 
1. Данная последовательность из 20 целых чисел, заполненная в промежутке [1; 20].
a. Отсортировать первые 10 элементов последовательности по возрастанию, последние 10 - наоборот (используя алгоритм быстрой сортировки).
b. Организовать поиск введенного пользователем числа в получении последовательности с помощью алгоритма бинарного поиска.
Вот что смогла написать
Код:

#include <iostream>
#include <ctime>
using namespace std;
 
void Set(int array[], int n);
void Print(int array[], int n);
void quickSort(int mas[], int n);
 
int main()
{
    const int s = 20;
    srand(time(NULL));
    int a[s];
    Set(a, s);
    Print(a, s);
    cout << "\n";
    quickSort(a, s);
    Print(a, s);
    system("pause");
    return 0;
}
 
void Set(int array[], int n)
{
    for (int i = 0; i < n; i++)
        array[i] = rand() % 20 + 1;
}
 
void Print(int array[], int n)
{
    for (int i = 0; i < n; i++)
    {
        cout << array[i] << " | ";
    }
}
 
void quickSort(int mas[], int n)
{
    int m = mas[n / 2], i = 0, j = n - 1;
    do
    {
        while (mas[i] < m)
            i++;
        while (mas[j] > m)
            j--;
        if (i <= j)
        {
            int temp = mas[i];
            mas[i] = mas[j];
            mas[j] = temp;
            i++;
            j--;
        }
    } while (i <= j);
    if (i < n)
        quickSort(mas + i, n - i);
    if (j > 0)
        quickSort(mas, j);
}



Часовой пояс GMT +4, время: 18:19.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.