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

Массив: Найти первый максимум в этом массиве, а затем все числа до этого элемента упорядочить по возрастанию, а после — по убыванию. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подскажите бесплатный игровой движок под с++ http://www.cyberforum.ru/cpp-beginners/thread641248.html
Подскажите бесплатный игровой движок под с++
C++ Вычислить с помощью функции вот такая задачька http://www.cyberforum.ru/cpp-beginners/thread641247.html
Структура C++
Как использовать структура, объявленную в другом файле. К примеру что бы использовать переменные нужно прописать extern
C++ Xor или что-то ещё?
Не могу понять, что делает "XOR" (или что это ещё) в данной функции, созданной Window Forms : private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { }
C++ Метод remove_if STL http://www.cyberforum.ru/cpp-beginners/thread641239.html
Всем привет! Не могу понять почему вылезает ошибка при использовании remove_if для list. ошибка Error 1 error C3867: 'CableTV::HelpDeleteChannels': function call missing argument list; use '&CableTV::HelpDeleteChannels' to create a pointer to member c:\documents and settings\304-03\мои документы\visual studio 2010\projects\examwinapi\examwinapi\examwinapi.cpp 895 Код
C++ Атрибуты прав при создании директории Пишу mkdir("dir0777",0777); mkdir("dir0770",0770); mkdir("dir0707",0707); mkdir("dir0077",0077); Для владельца - права устанавливаются правильно. Для группы и "остальных" - для всех директорий оказывается нет права на запись. В чём дурь? подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
23.08.2012, 18:28     Массив: Найти первый максимум в этом массиве, а затем все числа до этого элемента упорядочить по возрастанию, а после — по убыванию.
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
#define N 20
 
void swap(int& n1, int& n2);
 
void sort(int* pn, int start, int end, bool desc = false)
{
    for (int i = start; i <= end; i++)
    {
        int m = i;
        for (int q = i+1; q <= end; q++)
            m = (!desc) ? ((pn[q] > pn[m]) ? q : m) : 
                ((pn[q] < pn[m]) ? q : m);
 
        swap(pn[i],pn[m]);
    }
}
 
void swap(int& n1, int& n2)
 { int _tn = n1; n1 = n2; n2 = _tn; }
 
int main()
{
    int* A = new int[N];
    for (int x = 0; x < N; x++)
    {
        A[x] = rand() % 9 + 1;
        printf("%d ",A[x]);
    }
 
    int max = 0;
    for (int i = 0; i < N; i++)
        max = (A[i] > A[max]) ? i : max;
 
    printf("\nmax = %d A[max] = %d\n\n",max,A[max]);
 
    int pos = 0; 
    while (A[pos] != A[max]) pos++;
 
    sort(A, 0, pos-1, true);
    sort(A, pos+1, N-1, false);
 
    for (int q = 0; q < N; q++)
        printf("%d ",A[q]);
    printf("\n");
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/4ad32f...37b419cc6f4d8c
Миниатюры
Массив: Найти первый максимум в этом массиве, а затем все числа до этого элемента упорядочить по возрастанию, а после — по убыванию.  
 
Текущее время: 18:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru