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

Из паскаля в c++ с небольшим изменением - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка матрицы http://www.cyberforum.ru/cpp-beginners/thread1311957.html
Вот алгоритм Сверху-вниз-влево, с конца главной диагонали
C++ Объясните в чем ошибка Помогите найти ошибку в программе... Определить корень третьей степени от Z по итерационной формуле, пока |Wn+1 - Wn| < e Wn+1 = Wn +(1/3)(Z/ Wn2- Wn) начальное значение Z/3 , если Z >= 0 W0= 3 Z если Z < 1 Использовать функцию F(w) = w + (1/3)(Z/ w2- w) Вот такую программку я написал... http://www.cyberforum.ru/cpp-beginners/thread1311952.html
C++ Меню(Шаблон)
Подскажите как сделать меню на С++ 1. Запуск программы один 2. Запуск программы два 3. Выход Чтобы допусти при выборе программы 1 у нас запускалась программа которая считает сумму нечетных чисел от 1 до 30, при выборе программы выполнять другая программа.
C++ Как можно оптимизировать?
Как можно оптимизировать программу,чтобы она работала до 1 секунды? #include<iostream> #include<cstring> using namespace std; int sdvig(char a,char b,int m,int s) { int t; for (int i=0;i<m;i++) {
C++ Определить самое длинное слово всех слов введенных предложений http://www.cyberforum.ru/cpp-beginners/thread1311922.html
Ввести последовательность предложений. Определить самое длинное слово всех слов введенных предложений. Предложения с этим словом напечатать большими буквами. :cry::-|
C++ Передаче параметров из класса в main В header файле в метод menu класса Menu, передаю класс ResuryHealth. int Menu::menu(ResuryHealth){ ..... } Соответственно при вызове метода menu в main требуется параметр. Menu choose; choose.menu(сюда параметры); Проблема в том, что я не знаю как передать туда параметр, помогите, то только столкнулся с таким. подробнее

Показать сообщение отдельно
Nosey
 Аватар для Nosey
1184 / 351 / 102
Регистрация: 22.10.2014
Сообщений: 786
Завершенные тесты: 2
27.11.2014, 01:26     Из паскаля в c++ с небольшим изменением
Вы не подумайте, что я cut, я просто учусь
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 "stdafx.h"
#include <iostream>
#include <functional>
#include <algorithm>
#include <vector>
#include <numeric>
#include <fstream>
#include <iterator>
 
/*
Ребят помогите написать прогу на с++, а так же переделать под файлы.
(Само задание:Пусть дан файл целых чисел. Создайте новый файл, значения в который записываются по следующему правилу:
суммируются подряд идущие значения одного знака; вместо группы нуле записывается один нуль.)
*/
 
 
template <class Cond, class Operation, class Operation2>
class binderTernarOp : 
    public ::std::binary_function
    <typename Operation::first_argument_type, typename Operation::second_argument_type, typename Operation::result_type>
{
public:
    typedef typename binary_function<typename Operation::first_argument_type, typename Operation::second_argument_type, typename Operation::result_type> Base;
    typedef typename Base::first_argument_type first_argument_type;
    typedef typename Base::second_argument_type second_argument_type;
    typedef typename Base::result_type result_type;
 
    binderTernarOp(const Cond& cond, const Operation& op, const Operation2& op2)
        : op(op), cond(cond), op2(op2)
    {
        static_assert(::std::is_same<Operation::first_argument_type, Operation2::first_argument_type>::value, "bindTernarOp require same Operators");
        static_assert(::std::is_same<Operation::second_argument_type, Operation2::second_argument_type>::value, "bindTernarOp require same Operators");
        static_assert(::std::is_same<Operation::result_type, Operation2::result_type>::value, "bindTernarOp require same Operators");
    }
 
    inline const result_type operator()(const first_argument_type& left, const second_argument_type& right) const
    {
        return (cond() ? (op(left, right)) : (op2(left, right)));
    }
 
    inline result_type operator()(first_argument_type& left, second_argument_type& right) const
    {
        return (cond() ? (op(left, right)) : (op2(left, right)));
    }
 
protected:
    Operation op;
    Operation2 op2;
    Cond cond;
};
 
template <class Cond, class Operation, class Operation2>
binderTernarOp<Cond, Operation, Operation2>
inline bindTernOp(const Cond& cond, const Operation& op1, const Operation2& op2)
{
    return (binderTernarOp<Cond, Operation, Operation2>(cond, op1, op2));
}
 
int main()
{
    ::std::ifstream in("input.txt");
    ::std::ofstream out("output.txt");
 
    ::std::vector<int> vec((::std::istream_iterator<int>(in)), (::std::istream_iterator<int>()));
    in.close();
 
    ::std::vector<int>::iterator it2, it = vec.begin();
    while (it != vec.end())
    {
        it2 = ::std::find_if(it, vec.end(), ::std::bind2nd(bindTernOp([it](){return *it == 0; }, ::std::not_equal_to<int>(), bindTernOp([it](){return *it < 0; }, ::std::greater_equal<int>(), ::std::less_equal<int>())), 0));
        out << ::std::accumulate(it, it2, 0) << " ";
        it = it2;
    }
    out.close();
 
    return 0;
}
Добавлено через 30 минут
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <iterator>
 
int main()
{
    ::std::ifstream in("input.txt");
    ::std::ofstream out("output.txt");
    ::std::istream_iterator<int> it(in), itEnd;
    for (int summ = 0, lastValue = *it; it != itEnd; ++it)
    {
        if (lastValue == 0 && *it == 0)
        {
            continue;
        }
        else if (*it == 0)
        {
            out << summ << " ";
            out << *it << " ";
            summ = 0;
        }
        else if (lastValue == 0 || (long long)*it * (long long)lastValue > 0)
        {
            summ += *it;
        }
        else
        {
            out << summ << " ";
            summ = *it;
        }
        lastValue = *it;
    }
 
    in.close();
    out.close();
    return 0;
}
 
Текущее время: 09:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru