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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
kinoman471
4 / 4 / 0
Регистрация: 18.04.2012
Сообщений: 58
#1

Перемещение элементов массива - C++

06.06.2012, 20:37. Просмотров 1549. Ответов 4
Метки нет (Все метки)

Переместить однозначные числа в конец массива. При этом порядок следования чисел в группах (однозначные, двухзначные) не должен изменяться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2012, 20:37     Перемещение элементов массива
Посмотрите здесь:

Перемещение элементов массива - C++
Дан массив размера n. Переместить первые его k (k<=n) элементов в конец массива, сохраняя исходный порядок.

перемещение элементов массива - C++
Переместить все отрицательные элементы массива в начало, не изменяя порядка их следования в исходном массиве. Порядок следования не...

Перемещение елемента массива - C++
я создал двумерный массив и нарисовал ним текстовое поле примерно такое |---------| |---------| |---------| |---------| как...

Перемещение элементов матрицы. - C++
Доброго времени суток. Я хочу попросить совета о создании такого алгоритма. Например, у меня есть матрица : 4 3 9 5 2 1 6 7 8 ...

Перемещение элементов итераторами - C++
всем привет, можно ли как-то идя по коллекции итератором, переместить определенный(ые) эллементы в конец коллекции ? int main() { ...

Перемещение и удаление элементов в векторе - C++
Eсть такой код: vector<int> v = {-3, -5, -6, 1, 2, 3}; for (size_t i = 0; i != v.size(); i++) { if (v > 0) { ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
07.06.2012, 03:45     Перемещение элементов массива #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
bool pred(int val) {
    return ((int)log10((double)val)+1) != 1;
}
 
int main(int argc, char *argv[]) {
 
    int a[] = { 11, 1123, 1, 123, 12, 2, 4, 5, 12, 121, 22, 3, 44, 5, 11 };
    int sz = sizeof(a)/sizeof(a[0]);
 
    std::stable_partition(a, a+sz, pred);
 
    for (int i=0; i<sz; i++)
        std::cout << a[i] << ' ';
 
}
Кот Ангенс
317 / 267 / 38
Регистрация: 24.05.2012
Сообщений: 629
09.06.2012, 19:45     Перемещение элементов массива #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <algorithm>
#include <iostream>
 
using namespace std;
 
int main() {
    unsigned i, n;
    cin >> n;
    int* a = new int[n];
    for (i = 0; i < n; i++)
        cin >> a[i];
    unsigned j = 0;
    for (i = 0; i < n; i++)
        if (a[i] > 9)
            swap(a[i], a[j++]);
    for (i = 0; i < n; i++)
        cout << a[i] << ' ';
    delete[ ] a;
}
Добавлено через 5 минут
Прошу прощения, это неправильно. Порядок однозначных чисел может меняться. Сейчас перепишу.
Петррр
5946 / 3383 / 336
Регистрация: 28.10.2010
Сообщений: 5,927
09.06.2012, 19:47     Перемещение элементов массива #4
std::stable_partition
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2012, 19:49     Перемещение элементов массива
Еще ссылки по теме:

Перемещение элементов односвязного списка - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; void main() { struct node { int inf; node*next; }; printf (&quot;Vvedite chislo...

Перемещение массива типа char в соседнюю ячейку - C++
name , club и nation типа char. На них выдает ошибку. Нарыл в интернете, что в си так делать нельзя, но не нашел как можно. ...

Каждый из элементов массива заменить средним значением первых элементов этого массива. - C++
текущее сглаживание. Каждый из элементов xi массива X(n) заменить средним значением первых i элементов этого массива.

Каждый из элементов x[SUB]i[/SUB] массива X(n) заменить средним значением первых i элементов этого массива - C++
Задание: Каждый из элементов xi массива X(n) заменить средним значением первых i элементов этого массива. Ребят, помогите решить вот...

Найти сумму n первых элементов массива и произвидения m посдедних элементов массива - C++
не могу врубиться как написать эту прогу С клавиатуры вводится массив Т найти сумму n первых элементов массива и произвидения m...


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

Или воспользуйтесь поиском по форуму:
Кот Ангенс
317 / 267 / 38
Регистрация: 24.05.2012
Сообщений: 629
09.06.2012, 19:49     Перемещение элементов массива #5
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
#include <iostream>
#include <vector>
 
using namespace std;
 
int main() {
    unsigned i, n;
    cin >> n;
    int* a = new int[n];
    vector<int> a1;
    unsigned j = 0;
    int temp;
    for (i = 0; i < n; i++) {
        cin >> temp;
        if (temp > 9)
            a[j++] = temp;
        else
            a1.push_back(temp);
    }
    for (i = 0; i < a1.size(); i++, j++)
        a[j] = a1[i];
    for (i = 0; i < n; i++)
        cout << a[i] << ' ';
    delete[ ] a;
}
Yandex
Объявления
09.06.2012, 19:49     Перемещение элементов массива
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru