Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ работа с файлами в С/C++ Привет! Нужна помощь специалиста) Подскажите, пожалуйста, как из файла filename.txt, в котором содержится матрица из 1000 на 5, записать элементы в массивы M, M, M, M, M и с каждым из них потом отдельно работать (задание-посчитать число значений в столбцах)? \\как открыть файл понятно #include <stdio.h> #include <errno.h> FILE *f = fopen("filеnamе.txt", "rt"); if (f == NULL) { ... https://www.cyberforum.ru/ cpp-beginners/ thread105800.html массивы C++
Заданы две таблицы. Одна cодержит наименование услуг, а другая – расценки за эти услуги. Удалите из обеих таблиц все, что предшествует услуге, цена которой P рублей. Дан одномерный массив из 10 целых чисел. Подсчитайте количество различных чисел в нем.
C++ Количество элементов массива У меня есть функция, в которой я создаю массив char. Мне нужно сделать так, чтобы кол-во элементов массива зависело от значения другой переменной (int). К примеру function (int a) { char massive; } https://www.cyberforum.ru/ cpp-beginners/ thread105766.html C++ Возвращающееся значение. https://www.cyberforum.ru/ cpp-beginners/ thread105765.html
Если у меня функция возвращает указатель на начало char массива (имя массива), то как она должна в заголовке обзываться: char function() или char* function() ?
C++ Найти номер ее столбца с наименьшим произведением элементов
Помогите пожалуйста с исходным кодом, как решить на языке программирования С++... Matrix26. Дана матрица размера M × N. Найти номер ее столбца с наименьшим произведением элементов и вывести данный номер, а также значение наи-меньшего произведения.
C++ графика C++ https://www.cyberforum.ru/ cpp-beginners/ thread105727.html
Добрый день! Народ, такая проблема: мне нужно что-то нарисовать в C++, но #include <graphics.h> не работает - он ее не находит, пишет, что библиотека не найдена! Что мне делать, какие библиотеки C++ (если не ошибаюсь, *.h - библиотеки Си) существуют для 2-мерной графики...?
C++ Указатели Условие: P1 - float; P2 - long; P3 - double; AB - (abs(p3))^1/p2 Подскажите, почему выдаёт ошибку Cannot convert 'double *' to 'float *'? в коде: #include <stdio.h> #include <conio.h> #include <math.h> https://www.cyberforum.ru/ cpp-beginners/ thread105726.html Метод простой итерации C++
Добрый день! нужна помощь, помогите пожалуйста с решением задачи Решить методом простой итерации уравнение вида х=Ф(Х). Очевидное приближение корня находится по формуле Xn=Ф(Xn-1) (на всякий случай n-1 индекс); начальное приближение Xo задается произвольно. Обратить внимание, что метод сходится, если только |Ф'(Х)|<1
C++ Составить программу перестановки в матрице https://www.cyberforum.ru/ cpp-beginners/ thread105703.html
Составить программу перестановки в матрице X= размером (n*m) строк с номерами K и L. Напечатать преобразованную матрицу. Рассматривая построчно преобразованную матрицу, переписать в одномерный массив все отриц. элементы. Ребята этот кошмар меня уже месяц преследует.... дело доходит до ввода и вывода матрицы.. дальше я дерево:(
C++ Вычисление факториала числа Маленькая программа вычисляет факториал числа, введенного пользователем, по формуле N! = N * (N – 1)!, где 0 != 1, и выводит его на экран. помогите пожалуйста :з https://www.cyberforum.ru/ cpp-beginners/ thread105698.html
Соединить шахматные 2 клетки кратчайшим путем коня C++
ребят подскажите алгоритм и через чего лучше реализовывать, желательно предлагать самые простые варианты, подскажите пожалуста потом сделаю нароботки и чую продолжу спрашивать че да как(c++) пример, но впроинципе можно чтоб и числами выдава, а не буквами чтоб типами хоть голову не мучать
C++ Для каждой строки сформировать новую, поместив в нее слова исходной, заключенные в скобки Здравствуйте! Помогите с написание программы. Нужны 2 программы, цель обеих: из входного потока вводится произвольное число строк. Каждая строка - слова, разделенные одним или несколькими пробелами и/или знаками табуляци. Некоторые слова или группы слов заключены в скобки (). Возможно отсутстве скобок. Длина строки не больше 80 символов. Для каждой строки сформировать новую строку, поместив... https://www.cyberforum.ru/ cpp-beginners/ thread105670.html
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
17.03.2010, 23:05  [ТС] 0

Как связать несколько output потоков? - C++ - Ответ 605360

17.03.2010, 23:05. Показов 1539. Ответов 4
Метки (Все метки)

Ответ

Цитата Сообщение от Nick Alte Посмотреть сообщение
Этот пример не в самом лучшем стиле
почему не в самом лучшем стиле??

Добавлено через 32 минуты
Code
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <iostream>
#include <fstream>
#include <iomanip>
#include <vector>
#include <stdint.h>
 
typedef int64_t LL;
typedef std::vector<int> VI;
#define FOR(i,a,b) for(int i(a), _n(b); i < _n; ++i)
#define sz size()
 
const LL base = 1000*1000*1000;
 
VI operator *= (VI &a, VI &b)
{
    VI res(a.sz+b.sz);
    FOR(i,0,a.sz)
        for (int j = 0, carry = 0; j < b.sz || carry; ++j)
        {
            LL cur = res[i+j] + carry + a[i] * LL(j < b.sz ? b[j] : 0);
            res[i+j] = cur % base;
            carry = cur / base;
        }
    while (res.sz > 0 && !res.back()) res.pop_back();
    a = res;
    return a;
}
 
VI BinPow(int a, int n)
{
    VI res(1, 1), b(1, a);
    while (n)
        if (n&1) --n, res *= b;
        else n >>= 1, b *= b;
    return res;
}
 
class MultiStream
{
public:
    MultiStream() {  }
    ~MultiStream(){ FOR(i,0,stream.sz) delete stream[i]; }
    std::vector<std::ostream *> stream;
    void push(std::ostream *stream)
    {
        this->stream.push_back(stream);
    }
    void fill(const char s)
    {
        FOR(i,0,stream.sz) stream[i]->fill(s);
    }
    void width(const int n)
    {
        FOR(i,0,stream.sz) stream[i]->width(n);
    }
    template <class T> operator << (const T value)
    {
        FOR(i,0,stream.sz) *stream[i] << value;
    }
};
 
int main()
{
    int a, n;
    clock_t begin, end;
    try
    {
        std::cin >> a >> n;
        if (a < 0 || n < 0) throw "Wrong input";
        begin = clock();
        VI res = BinPow(a, n);
        end = clock();
        
        std::ofstream file("output.txt");
        if (!file.good()) throw "Cann't open file.";
        
        MultiStream MS;
        MS.push(&std::cout), MS.push(&file);
                
        MS << a << "^" << n << "\n\n" << res.back();
        MS.fill('0') , MS.width(9);
        for (int i = res.sz-2; i > -1; --i)
            MS << res[i];
        MS << "\n\n" << "BinPow time: " << (end - begin) << " milisecond";
        if (end - begin < 2) MS << " ";
        else MS << "s";
        MS << std::endl;
    }
    catch (const char *event)
    {
        std::cout << event << std::endl;
    }
    system("pause");
}
не пашет..

C:/Documents and Settings/Администратор/Рабочий стол/help.cpp:57: error: ISO C++ forbids declaration of `operator<<' with no type
C:/Documents and Settings/Администратор/Рабочий стол/help.cpp: In function `int main()':
C:/Documents and Settings/Администратор/Рабочий стол/help.cpp:80: error: invalid operands of types `int' and `const char[2]' to binary `operator<<'
C:/Documents and Settings/Администратор/Рабочий стол/help.cpp:84: error: invalid operands of types `int' and `const char[14]' to binary `operator<<'
C:/Documents and Settings/Администратор/Рабочий стол/help.cpp:87: error: no match for 'operator<<' in 'MS << std::endl'

В основном проблема в том, что не поддерживается "цепочный" вывод типа:
C++
1
MS << "some text" << 154 << 12.154 << 's' << std::endl;


Вернуться к обсуждению:
Как связать несколько output потоков? C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2010, 23:05
Готовые ответы и решения:

Замедление работы потоков если запущено несколько потоков
Есть отдельный поток который движет красным квадратом. Он каждую миллисекунду меняет положение...

Как связать несколько БД
Здравствуйте увожаемые программисты . У меня возникла не давно одна проблема , мне надо зделать...

как сделать в MS VS 2010 express output не в консоль в output windows
сабж заранее спасибо

Как связать несколько документов?
Есть карточка семьи, нужно к ней каким то образом создать и прикрепить карточки детей, входящих в...

4
17.03.2010, 23:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2010, 23:05
Помогаю со студенческими работами здесь

Как связать несколько доменов
Всем доброе утро! Надеюсь на вашу помощь. Есть сайт у которого имеются позиции по одному из...

Как связать несколько ComboBox
Здравствуйте. Возник вопрос: как связать между собой три comboBox`а: Отдел, Подразделение и...

Как связать несколько таблиц?
Доброго времени суток. Работаю в Vs 2010. Создаю отчет по таблице Book. Выводится информация о...

Как связать несколько таблиц
Здравствуйте, у меня имеется 6 таблицы. В первый таблице будет храниться данные об учителе, а в...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru