Форум программистов, компьютерный форум 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++
Даны три квадратных уравнения ax^2+bx+с, bx^2+ax+с, cx^2+ax+b. Сколько из них имеют вещественные корни. (определить функцию, позволяющую распознавать наличие вещественных корней в квадратном уравнении.)
C++ Функция, позволяющая распознавать наличие вещественных корней в квадратном уравнении
Даны три квадратных уравнения ax^2+bx+с, bx^2+ax+с, cx^2+ax+b. Сколько из них имеют вещественные корни. (определить функцию, позволяющую распознавать наличие вещественных корней в квадратном уравнении.) Помогите, плз. P.S. если поможете через <stdio.h> буду крайне признателен
C++ Меню(Шаблон) http://www.cyberforum.ru/cpp-beginners/thread1311938.html
Подскажите как сделать меню на С++ 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++) { подробнее

Показать сообщение отдельно
Nosey
1347 / 398 / 107
Регистрация: 22.10.2014
Сообщений: 862
Завершенные тесты: 2
27.11.2014, 01:26
Вы не подумайте, что я 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;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru