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

algorithm - C++

Восстановить пароль Регистрация
 
KingR
-6 / 6 / 1
Регистрация: 23.05.2010
Сообщений: 133
11.11.2010, 23:47     algorithm #1
дано последовательность целих чисел
1.для каждого елемента найти количество цифр числа( count_if)
2.после каждого симетріческого елемента вставить 0 (find_if)
3. заполнить список трьохзначними симетричискеми числами(generate)
4.удалить значения сума цифр которих ровна Х(remove_if)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
int simple(int n)
{  
        for(int i=2;i<=n/2;i++)
                if( (n%i)==0 )
                        return 0;  
        return 1;  
};
 
int syma(int v){
    int k=0;
    while(v!=0){
        k+=v%10;
        v=v/10;
    }
    return k;
};
int kilk(int v){
    int k=0,p=0;
    while(v!=0){
        k+=v%10;
        v=v/10;
        p++;
    }
    return p;
};
bool symetr(int &x){
    int t=x;
    vector<int> v;
    while(t!=0){
        v.push_back(t%10);
        t/=10;
    }
    t=x;
    for(int i=v.size()-1;i>=0;--i){
        if(v[i]!=t%10) return false;
        t/=10;
    }
    return true;
};
 
void main(){
    int n,x;
    cin>>n>>x;
    vector<int> v(n),b(n);
    vector<int>::iterator it=v.begin(),ip=b.begin();
    cout<<endl<<endl;
    for(int i=0; i<n; i++){
        cin>>v[i];
    };
    //1
    cout<<endl<<count_if(v.begin(),v.end(),simple);
 
    //2
    cout<<endl<<for_each(v.begin(), v.end(),kilk );
    //3
    it=v.begin();
    it=find_if(v.begin(), v.end(),symetr);
    v.insert(v.begin(),v.end(),it,0);
    for (it=v.begin(); it!=v.end(); ++iy)
    cout << " " << *it;
    //4
    generate(b.begin(),b.end(),symetr);
    for (ip=b.begin(); ip!=b.end(); ++ip)
    cout << " " << *ip;
    //5
    it=v.begin();
    while(it!=v.end())
    {
    if(syma(*it)==x)
    cout<<endl<<remove_if(v.begin(), v.end(), syma);
    it++;}
}
штото делал но не получилось
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2010, 23:47     algorithm
Посмотрите здесь:

Библиотека <algorithm> в [c++] C++
C++ algorithm: find_if
<algorithm> C++
C++ algorithm std::sort
C++ не находит algorithm.h
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Unforgiven_00
60 / 60 / 2
Регистрация: 12.10.2010
Сообщений: 129
12.11.2010, 00:21     algorithm #2
Что именно не получаеться?
KingR
-6 / 6 / 1
Регистрация: 23.05.2010
Сообщений: 133
12.11.2010, 00:34  [ТС]     algorithm #3
Цитата Сообщение от Unforgiven_00 Посмотреть сообщение
Что именно не получаеться?
не понимаю почему не работает remove_if и другие или может я в описание ошибся...
Unforgiven_00
60 / 60 / 2
Регистрация: 12.10.2010
Сообщений: 129
12.11.2010, 00:40     algorithm #4
может сдесь надо не int a bool?
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
int simple(int n)
{  
        for(int i=2;i<=n/2;i++)
                if( (n%i)==0 )
                        return 0;  
        return 1;  
};
 
int syma(int v){
        int k=0;
        while(v!=0){
                k+=v%10;
                v=v/10;
        }
        return k;
};
int kilk(int v){
        int k=0,p=0;
        while(v!=0){
                k+=v%10;
                v=v/10;
                p++;
        }
        return p;
};
KingR
-6 / 6 / 1
Регистрация: 23.05.2010
Сообщений: 133
12.11.2010, 00:44  [ТС]     algorithm #5
вроде то самое што и било(

а можете тогда так сказать: функции я правильно написал или нет ? штоб я знал где ошибка в мейн или в ф-циях

и какие алгоритми нужно "присвоевать" итераторам?
Yandex
Объявления
12.11.2010, 00:44     algorithm
Ответ Создать тему
Опции темы

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