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

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

Войти
Регистрация
Восстановить пароль
 
Vali
0 / 0 / 0
Регистрация: 21.11.2014
Сообщений: 8
#1

Переставить значение элементов заданного одномерного массива, так чтобы все нулевые оказались в конце массива - C++

25.11.2014, 18:43. Просмотров 322. Ответов 2
Метки нет (Все метки)

А не нулевые в начале, не нарушая порядок, в котором они были
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2014, 18:43     Переставить значение элементов заданного одномерного массива, так чтобы все нулевые оказались в конце массива
Посмотрите здесь:

Проверить, можно ли переставить элементы массива так, чтобы получилась арифметическая прогрессия C++
Дан массив а1,а2,,…,аn. Переставить его элементы так, чтобы в начале массива расположились все его неотрицательные элементы, а в конце – отрицательные C++
Значение переменных поменять местами так, чтобы они оказались упорядоченными по возрастанию C++
Значение переменных поменять местами так, чтобы они оказались упорядоченными по возрастанию C++
Дан массив а1+ a2+…+an Переставить его элементы так чтобы в начале массива расположились все его неотрицательные элементы, а в конце - отрицательные C++
C++ Переставить элементы массива так, чтобы отрицательные оказались в начале, положительные - в конце
Переставить элементы массива так, чтобы сначала располагались все нули, затем все двойки и, наконец, все единицы C++
Переставить значения заданного одномерного массива C++
C++ Отсортировать заданную последовательность так, чтобы все нули оказались в конце
C++ Отсортировать массив из 0 и 1 так, чтобы все нули находились в начале, а все единицы - в конце массива
Расположить элементы массива так, чтобы нули было в начале, а единицы в конце C++
C++ Переставить элементы заданного одномерного массива в обратном порядке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nosey
 Аватар для Nosey
1204 / 371 / 106
Регистрация: 22.10.2014
Сообщений: 813
Завершенные тесты: 2
25.11.2014, 20:15     Переставить значение элементов заданного одномерного массива, так чтобы все нулевые оказались в конце массива #2
Vali, Поделитесь наработками?

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
#include "stdafx.h"
#include <iostream>
#include <sstream>
#include <functional>
#include <algorithm>
#include <vector>
#include <numeric>
 
int main()
{
    int c = 10;
    int max = 100;
 
    std::vector<int> vec(max);
    std::generate(vec.begin(), vec.end(), &rand);
    while (--c)
    {
        vec[rand()%max] = 0;
    }
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::fill(std::remove_if(vec.begin(), vec.end(), std::bind2nd(std::equal_to<int>(), 0)), vec.end(), 0);
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
 
    system("pause");
}
hoggy
5739 / 2321 / 419
Регистрация: 15.11.2014
Сообщений: 5,186
Завершенные тесты: 1
25.11.2014, 22:57     Переставить значение элементов заданного одномерного массива, так чтобы все нулевые оказались в конце массива #3
http://rextester.com/EOVK38114


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
 
int main()
{
    std::cout << "Hello, world!\n";
    
    int arr[] = {0,0,1,0,3,4,5,6,0,7 };
    
    const auto it = ::std::remove(::std::begin(arr), ::std::end(arr), 0);
    
    ::std::fill(it, ::std::end(arr), 0 );
    
    
    for(const auto i: arr)
        ::std::cout<<i<<", ";
    
    ::std::cout<<'\n';
    
}
Yandex
Объявления
25.11.2014, 22:57     Переставить значение элементов заданного одномерного массива, так чтобы все нулевые оказались в конце массива
Ответ Создать тему
Опции темы

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