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

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

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

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

31.05.2013, 00:11. Просмотров 402. Ответов 1
Метки нет (Все метки)

Удалить из массива элементы, в записи которых все цифры различны. (Желательно использовать вектора)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2013, 00:11     Удалить из массива элементы, в записи которых все цифры различны
Посмотрите здесь:

Удалить из массива все числа, у которых все цифры, встречающиеся в их записи, одинаковы - C++
Дан массив целых положительных чисел a1, a2, …аN. Удалить из него все числа, у которых все цифры, встречающиеся в их записи, одинаковы. ...

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

Подсчет натуральных чисел, в которых все три цифры различны - C++
Подсчитать количество натуральных чисел 102\leq n\leq 987 , в которых все три цифры различны. Как можно это сделать. Попроще, если можно,...

Найти трехзначные числа, все цифры которых различны и удовлетворяют условию - C++
найти трех значные числа abc , все цифры которых различны и удовлетворяют уравнению a^2-b^2-c^=a-b-c. загвозка в том что бы в файл ...

В промежутке от 103 до 1000 напечатать все трехзначные числа, цифры у которых различны - C++
Здравствуйте,помогите пожалуйста исправить программу,данная программа должна в промежутке от 103 до 1000 напечатать все трехзначные цифры...

Удалите из массива все элементы, первые цифры которых четные. - C++
Удалить из массива все элементы, первые цифры которых четные.(на С++)

Среди всех четырехзначных цифр определить число тех, у которых все цифры различны - C++
Среди всех четырехзначных цифр определить число тех, у которых все цифры различны.

Удалить строки массива в которых все элементы = 0 - C++
Дан массив, нужно все его строки, в которых ВСЕ элемент = 0, удалить. То есть из: сделать Писать код не надо, просто...

Удалить все элементы массива 1, которых нет в массиве 2 - C++
Подскажите пожалуйста, как удалить все элементы из vector<string> temp , которых нет в vector<string> names. Так не получается: ...

Удалить строки массива все элементы которых положительные - C++
Задание таково: Ввести целочисленный 2D массив,состоящий из строк произвольной длины. В нем нужно удалить строки,все элементы которых > 0,а...

Найти количество столбцов матрицы, все элементы которых различны. - C++
Дана целочисленная матрица размера M × N. Найти количество ее столбцов, все элементы которых различны.

Найти количество строк матрицы, все элементы которых различны. - C++
Matrix38. Дана целочисленная матрица размера M × N. Найти количество ее строк, все элементы которых различны. #include <iostream> ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
31.05.2013, 15:40     Удалить из массива элементы, в записи которых все цифры различны #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
#include <iostream>
#include <set>
#include <vector>
#include <algorithm>
#include <functional>
 
struct UniqueDigits 
{
    bool operator()(int value) const
    {
        std::set<int> s;
        
        while( value )
        {
            int digit = value % 10;
            if( s.end() != s.find( digit ) ) return false;
            s.insert( digit );
            value /= 10;
        }
        
        return true;
    }
    
    typedef int argument_type;
};
 
int main() {
    
    std::vector<int> v = { 102, 112, 111, 2, 345, 555, 0 };
 
    std::cout << "\nBefore delete: ";
    std::for_each( v.begin(), v.end(), [](int e){ std::cout << e << " "; } );
    
    auto pend = std::remove_if( v.begin(), v.end(), std::not1(UniqueDigits()) );
    v.erase( pend, v.end() );
    
    std::cout << "\nAfter delete: ";
    std::for_each( v.begin(), v.end(), [](int e){ std::cout << e << " "; } );
    
    return 0;
}
Добавлено через 1 час 5 минут
P.S. std::not1() надо убрать кстати инвертировал задание случайно
Ответ Создать тему
Опции темы

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