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

АТД список. Заменить меньшую часть списка символом "#" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ массив с меню http://www.cyberforum.ru/cpp-beginners/thread358021.html
люди помогите плиз решить эту лабу по с++ сам фигово в нем пока что... Во всех приведенных ниже вариантах использовать меню для организации работы программы, исходные данные предварительно записать в текстовый файл. Разработать схему алгоритма и программу, используя функции с параметрами для ввода массива и его обработки. В массиве хранятся данные об осадках за месяц. Найти • Количество дней...
C++ Поменять местами первую строку и последний столбец квадратной матрицы Уважаемые программисты, помогите пожалуйста написать функцию и программу на С++, если не очень трудно! Это мне не под силу(((((((((( Задание:Написать функцию, которая меняет местами первую строку и последний столбец квадратной матрицы. Написать программу, которая описывает два двухмерных массива:А размерностью 5*5 и В размерностью 3*3, инициализировав последний массив значениями... http://www.cyberforum.ru/cpp-beginners/thread358007.html
Даны 4 вещественных числа. Определить сколько из них отрицательных. C++
Даны 4 вещественных числа. Определить сколько из них отрицательных. Оператор цикла не использовать. если можно с коментариями.
медиа проигрователь C++
Помогите создать небольшой класс про медиа проигрователь в котором есть инф про : 1. вставлен носитель или нет если да то вывести краткую инф о нём 2. играет ли песня или нет(привязать клавишу к сл песне, к пред, пауза и стоп) 3. проверить какой носитель вставлен Добавлено через 9 часов 17 минут интерфейс не нужен просто небольшой класс... очень нужно плз помогите!
C++ Теория автоматов (лабораторная работа) ПОМОГИТЕ! http://www.cyberforum.ru/cpp-beginners/thread357935.html
Помогите,пожалуйста, сделать лабораторную работу.Очень нужно!Кто знает и может сделать... :wall: Конечный автомат без выходов: A = <A, S, s0, F, f>, де А = {a, b, c, …} – входной алфавит, S = {0, 1, 2, …} – множество состояний, s0ÎS – начальное состояние, FÍS – множество финальных (заключительных) состояний, f: S×A®S – функция переходов (автомат, находясь в определенном состоянии и...
C++ Объясните пожалуйста, как узнать тип ОС В связи что нужно срочно разработать программу, то приходится дома писать в убунту, а на работе под виндой, как мне написать код так чтобы он знал где компилируется в винде или в линуксе? заранее спс. подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
29.09.2011, 16:52     АТД список. Заменить меньшую часть списка символом "#"
Infinity3000, дело в том, что там использованы лямбда-выражения из нового стандарта (который старыми версиями студии не поддерживается). Сделай так:
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 <list>
#include <algorithm>
#include <iterator>
 
template <class T, class V>
class const_val
{
public:
    const_val(const T&);
    T operator () (const V&) const;
 
private:
    T c;
};
 
template <class T, class V>
const_val<T, V>::const_val(const T& _c)
    : c(_c)
{
}
 
template <class T, class V>
T const_val<T, V>::operator () (const V&) const
{
    return c;
}
 
int main()
{
    std::list<char> lst;
 
    char c;
 
    size_t size;
    
    std::cout << "Input the number of elements: ";
    std::cin >> size;
            
    for(size_t i = 0; i < size; ++i)
    {
    std::cout << "> ";
    std::cin >> c;
    lst.push_back(c);
    }
    
    std::cout << "Initial list:" << std::endl;
    
    std::copy(lst.begin(), lst.end(), std::ostream_iterator<char>(std::cout, " "));
    std::cout << std::endl;
 
    std::cout << "Input a character: ";
    std::cin >> c;
 
    std::list<char>::iterator it, next;
 
    if((it = next = std::find(lst.begin(), lst.end(), c)) == lst.end())
    {
    std::cerr << "Not found: " << c << std::endl;
    return 1;
    }
 
    ++next;
 
    if(std::count_if(lst.begin(), it, const_val<bool, char>(true)) <
       std::count_if(next, lst.end(), const_val<bool, char>(true)))
        std::fill(lst.begin(), it, '#');
    else
    std::fill(next, lst.end(), '#');
 
    std::cout << "Resulting list:" << std::endl;
    
    std::copy(lst.begin(), lst.end(), std::ostream_iterator<char>(std::cout, " "));
    std::cout << std::endl;
    
    return 0;
}
Можно, конечно, не мудрить и просто передать в count_if указатель на функцию, которая возвращает true, но это не так интересно
 
Текущее время: 07:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru