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

Упорядочить массив так, чтобы сначала иши упорядоченные положительные члены а потом упорядоченные отрицательные члены - C++

Восстановить пароль Регистрация
 
tarasman
-121 / 0 / 0
Регистрация: 10.02.2012
Сообщений: 119
04.07.2012, 15:18     Упорядочить массив так, чтобы сначала иши упорядоченные положительные члены а потом упорядоченные отрицательные члены #1
упорядочить одномерный массив таким образом,чтобы сначала шли упорядоченные положительные члены а потом упорядоченные по возрастанию отрицательные члены
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2012, 15:18     Упорядочить массив так, чтобы сначала иши упорядоченные положительные члены а потом упорядоченные отрицательные члены
Посмотрите здесь:

Преобразовать массив так, чтобы сначала располагались все положительные элементы, а потом отрицательные C++
Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом — все отрицательные C++
C++ Упорядочить компоненты вектора так, чтобы сначала размещались все отрицательные компоненты, а затем положительные
C++ Переписать файл так, чтобы сначала шли положительные, потом отрицательные числа
C++ Расположить элементы массива так, чтобы сначала были отрицательные и нули, а потом положительные
C++ Переписать файл целых чисел так, чтобы сначала шли положительные, а потом - отрицательные
Отсортировать массив целых так, чтобы сначала шли отрицательные, затем положительные числа C++
Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом все отрицательные C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
04.07.2012, 18:44     Упорядочить массив так, чтобы сначала иши упорядоченные положительные члены а потом упорядоченные отрицательные члены #2
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
#include <stdio.h>
#include <conio.h>
 
#define N 10
 
void swap(int& n1, int& n2);
 
int main()
{
    int X[N] = { -1, 5, -9, -2, 4, 8, 7, -6, 3, 2 };
 
    for (int z1 = 0; z1 < N; z1++)
        printf("%d ",X[z1]);
    printf("\n");
 
    for (int i = 0; i < N; i++)
        for (int k = i+1; k < N && X[i] < 0; k++)
            if (X[k] > 0) swap(X[i],X[k]);
 
    int v = 0;
    while (X[v] > 0) v++;
    for (int d = v; d < N; d++)
    {
        int min = d;
        for (int m = d+1; m < N; m++)
            min = (X[m] < X[min] && X[m] < 0) ? m : min;
 
        swap(X[d],X[min]);
    }
 
    for (int h = 0; X[h] > 0; h++)
    {
        int min = h;
        for (int w = h+1; X[w] > 0; w++)
            min = (X[w] < X[min] && X[w] > 0) ? w : min;
        swap(X[h],X[min]);
    }
 
    for (int z2 = 0; z2 < N; z2++)
        printf("%d ",X[z2]);
    printf("\n");
 
    _getch();
 
    return 0;
}
 
void swap(int& n1, int& n2)
 { int _tn = n1; n1 = n2; n2 = _tn; }
http://liveworkspace.org/code/edd943...ae2459ce4c2dcf
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
05.07.2012, 14:07     Упорядочить массив так, чтобы сначала иши упорядоченные положительные члены а потом упорядоченные отрицательные члены #3
я бы сделал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool isPos(int v) {
    return v >= 0;
}
 
int main(int argc, char *argv[]) {
 
    int a[] = {1,3,-4,-6,3,-9,10,4,-4,-3,-1,3,4,5,2,8,-1,-4,3,9};
    size_t sz = sizeof(a)/sizeof(a[0]);
 
    int * p = std::partition(a, a+sz, isPos);
    std::sort(a, p);
    std::sort(p, a+sz);
 
    for (int i=0; i<sz; i++)
        std::cout << a[i] << ' ';
 
}
Yandex
Объявления
05.07.2012, 14:07     Упорядочить массив так, чтобы сначала иши упорядоченные положительные члены а потом упорядоченные отрицательные члены
Ответ Создать тему
Опции темы

Текущее время: 15:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru