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

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

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

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

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

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

перемещение элементов массива C++
Перемещение элементов матрицы. C++
C++ Перемещение елемента массива
В одномерном массиве, состоящем из n вещественных элементов вычислить минимальный элемент массива и сумму элементов массива. [CPP] C++
Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y C++
В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между C++
C++ Перемещение элементов односвязного списка
Перемещение элементов массива C++
Перемещение и удаление элементов в векторе C++
Определить количество элементов массива, меньших среднего арифметиче-ского значений элементов этого массива C++
Перемещение массива типа char в соседнюю ячейку C++
C++ Перемещение элементов итераторами

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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 минут
Прошу прощения, это неправильно. Порядок однозначных чисел может меняться. Сейчас перепишу.
Петррр
5940 / 3377 / 335
Регистрация: 28.10.2010
Сообщений: 5,926
09.06.2012, 19:47     Перемещение элементов массива #4
std::stable_partition
Кот Ангенс
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