Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Для чего использовать cmake? http://www.cyberforum.ru/cpp-beginners/thread1496054.html
Здравствуйте. У меня вопрос: Зачем использовать cmake? Можно же вручную (через "Создать проект") сделать проект в той же Visual Studio, а не использовать cmake. Поясните мне, а то я пугаюсь этой cmake.
C++ Сдвинуть элементы на одну позицию вправо\влево Ребята помогите пожалуйста с решением задачи на с++ : Сдвинуть элементы на одну позицию вправо\влево. http://www.cyberforum.ru/cpp-beginners/thread1496029.html
Священные войны А что лучше учить С++ или Делфи ?
Я просто не знаю что нужно учить. Подскажете ?
C++ Тело лямбды. Двумерный массив
Здравствуйте. Возник вопрос, при попытке реализации примитивнейшей программы. "Требуется {, вводящая тело лямбды". Что это значит? #include "stdafx.h" #include <iostream> using namespace std; int main() { setlocale(LC_ALL,"rus"); int a; cout<<"Введите массив "<<endl;
C++ Вызов функции-члена класса по адресу в памяти http://www.cyberforum.ru/cpp-beginners/thread1496016.html
Всем хорошего дня :) Допустим, что где-то есть static функция, не принимающая аргументов и ничего не возвращающая. Имея один лишь только её адрес в памяти, можно сделать вот так: void (*f)() = reinterpret_cast<void (*)()>(0x004028E0); f() Тут всё ясно. Теперь допустим, что есть функция-член класса (не статическая). Её адрес в памяти тоже известен. Нужно её вызвать...
C++ Угадайка с наименьшем количеством шагов Доброго времени суток , сижу сижу , не выходит у меня что-то. Игра угадайка , пользователь вводит число от 1 до 100 , компьютер должен угадывать с наименьшем количеством шагов. К примеру. Я выбрал число 14. Компьютер выдает 50? Я говорю ему через switch допустим меньше. Он делит пополам 50 и выдает 25 и спрашивает , я ему опять меньше, он выдает 12 или 13, я ему больше и тут, если я не... подробнее

Показать сообщение отдельно
Melany
21 / 4 / 0
Регистрация: 05.07.2015
Сообщений: 125
10.07.2015, 15:09  [ТС]     Отсортировать первую треть (или две трети) массива в порядке возрастания, остальную часть - развернуть
Вот весь мой код
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
#include<iostream>
using namespace std;
void main()
{
const int size=12;
int Mas[size]={8,4,3,5,1,7,9,6,2,5,7,3};
int cursize=12;
cout<<"Please enter current size:\t";
cin>>cursize;
int max;
cout<<"Please enter digit:\t";
cin>>max;
int sum=0;
int segment=(cursize/3)*2;
for(int i=0; i<segment; i++)
    {
        sum+=Mas[i];
    
        if(i==segment-1)
        {
                sum=sum/segment;
        }
    }
int indexf=0;
int temp=0;
int radius=cursize/3;
if(max<sum)
{
     for (int i = 0; i < segment; i++)
    {
        for (int j = i; j < segment; j++)
        {
            if (Mas[i] > Mas[j])
            {
                temp = Mas[i];
                Mas[i] = Mas[j];
                Mas[j] = temp;
            }
        }
    }
 
for(int i=segment; i<cursize; i++)
    {
        for (int j = cursize-1; j>segment; j--)
        {
        int temp1=Mas[i];
        Mas[i]=Mas[j];
        Mas[j]=temp1;
        break;
        }
    }
for(int i=0; i<cursize; i++)
    {
    cout<<Mas[i];
    }
}
if(max>sum)
{
     for (int i = 0; i < radius; i++)
    {
        for (int j = i; j < radius; j++)
        {
            if (Mas[i] > Mas[j])
            {
                temp = Mas[i];
                Mas[i] = Mas[j];
                Mas[j] = temp;
            }
        }
    }
 
for(int i=radius; i<cursize; i++)
    {
        for (int j = cursize-1; j>radius; j--)
        {
        int temp1=Mas[i];
        Mas[i]=Mas[j];
        Mas[j]=temp1;
        
        }
    }
for(int i=0; i<cursize; i++)
    {
    cout<<Mas[i];
    }
}
}
Добавлено через 5 минут
я не про построение по порядку возрастания, а про расположение в обратном порядке., то есть

int Mas[size]={8,4,3,5,1,7,9,6,2,5,7,3}
сортируем конец то есть 1/3

должно получиться:
int Mas[size]={8,4,3,5,1,7,9,6,3,7,5,2}

Добавлено через 10 минут
Вы мне построение с возрастанием объясняете, спасибо, но мне не нужно проверять эти переменные а просто переставить их в обратном порядке,,
вот тут у меня беда
 
Текущее время: 03:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru