• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите доделать задание на C++

Олександра

Ученик
Регистрация
2 Апр 2018
Сообщения
1
Реакции
0
Баллы
0
Помогите доделать задание на 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);
}
 
Назад
Сверху