Форум программистов, компьютерный форум, киберфорум
Наши страницы

Отсортировать первую треть (или две трети) массива в порядке возрастания, остальную часть - развернуть - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сдвинуть элементы на одну позицию вправо\влево http://www.cyberforum.ru/cpp-beginners/thread1496029.html
Ребята помогите пожалуйста с решением задачи на с++ : Сдвинуть элементы на одну позицию вправо\влево.
C++ Тело лямбды. Двумерный массив Здравствуйте. Возник вопрос, при попытке реализации примитивнейшей программы. "Требуется {, вводящая тело лямбды". Что это значит? #include "stdafx.h" #include <iostream> using namespace std; ... http://www.cyberforum.ru/cpp-beginners/thread1496024.html
C++ Вызов функции-члена класса по адресу в памяти
Всем хорошего дня :) Допустим, что где-то есть static функция, не принимающая аргументов и ничего не возвращающая. Имея один лишь только её адрес в памяти, можно сделать вот так: void (*f)() =...
Угадайка с наименьшем количеством шагов C++
Доброго времени суток , сижу сижу , не выходит у меня что-то. Игра угадайка , пользователь вводит число от 1 до 100 , компьютер должен угадывать с наименьшем количеством шагов. К примеру. Я выбрал...
C++ Как передать в функцию русский текст http://www.cyberforum.ru/cpp-beginners/thread1495998.html
Есть такие функции Append ( const uint16 * aText,int32 aLength = -1 ) Append ( const char * aText,int32 aLength = -1,int32 aCodePage = 0 ); Append the eight-bit string aText. If...
C++ Создать функции добавления и удаления узла из бинарного дерева Требуется описать функции добавления и удаления узла в бинарном дереве. Вот исходный код. Извиняюсь за комментарии: #include <cstddef> # include <conio.h> #include <stdio.h> #include <iostream>... подробнее

Показать сообщение отдельно
Maksumko
12 / 12 / 4
Регистрация: 13.06.2015
Сообщений: 60
09.07.2015, 15:52
дано массив из 18 чисел , если среднее знач 2/3 массива ( первых 12 чисел ) больше указаного то сортируем ети 2/3, если нет то 1/3 что в конце)

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
const int sz = 18;
 
void sortArrayOne(int arr[], int halfPath);
void sortArrayTwo(int arr[], int halfPath);
 
int main()
{
    setlocale(LC_ALL, "rus");
    int myArray[sz];
    float averageNum = 0.0;
    float resAV = 0.0;
    int halfPath = 0;
 
    cout << "\nВведите среднее значение -> ";
    cin >> averageNum;
 
    srand(time(NULL));
    halfPath = (sz / 3) * 2;
 
    //Заповняємо масив
    for (int i = 0; i < sz; i++)
    {
        myArray[i] = rand() % 100 + 1;
    }
    //Виводимо масив
    cout << "\nВыводим массив : \n\n";
    for (int i = 0; i < sz; i++)
    {
        cout << " " << myArray[i];
    }
    //Сумуємо 2/3 масиву не чіпаючи 1/3
    for (int i = 0; i < halfPath; i++)
    {
        resAV += myArray[i];
        if (i == halfPath - 1)
        {
            resAV = resAV / i;
        }
    }
 
    //Провірка нашого значення
    if (resAV > averageNum)
    {
        cout << "\n\nСортируем №1 \n";
        sortArrayOne(myArray, halfPath);
    }
    if (resAV < averageNum)
    {
        cout << "\n\nСортируем №2 \n";
        sortArrayTwo(myArray, halfPath);
    }
 
    //Вивід
    cout << "\n\nВыводим сортированный массив : \n\n";
    for (int i = 0; i < sz; i++)
    {
        cout << " " << myArray[i];
    }
    
    cout << "\n\n";
    return 0;
}
 
void sortArrayOne(int arr[],int halfPath )
{
    int tmp = 0;
 
    for (int i = 0; i < halfPath; i++)
    {
        for (int j = i+1; j < halfPath; j++)
        {
            if (arr[i] > arr[j])
            {
                tmp = arr[i];
                arr[i] = arr[j];
                arr[j] = tmp;
            }
        }
    }
}
 
void sortArrayTwo(int arr[], int halfPath)
{
    int tmp = 0;
 
    for (int i = halfPath; i < sz - 1; i++)
    {
        for (int j = i + 1; j < sz; j++)
        {
            if (arr[i] < arr[j])
            {
                tmp = arr[i];
                arr[i] = arr[j];
                arr[j] = tmp;
            }
        }
    }
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru