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

Операторы ввода и вывода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Деревья http://www.cyberforum.ru/cpp-beginners/thread637990.html
Знаю пару тройку фундаментальных структур на основе дерева: красно-черное дерево бинарное древо поиска AVL дерево 2 - 3, 2 - 3 - 4 дерево H дерево Вопрос: подскажите фундаментальные структуры на основе дерева, которые не входят в этот список, для дальнейшего рассмотрения.
C++ Возникает ошибка При компиляции возникает вот такая ошибка: 1>------ Построение начато: проект: Function+, Конфигурация: Debug Win32 ------ 1>Компиляция... 1>Function+.cpp 1>c:\users\егор\desktop\function+\function+\function+.cpp(61) : warning C4996: 'getche': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getche. See online help for details. 1> c:\program... http://www.cyberforum.ru/cpp-beginners/thread637952.html
Разработка с++ в netbeans C++
Так получилось, что приходится работать под убунтой, на ней установлен netbeans, чтобы далеко не ходить и глубоко не лезть, для дальнейшего изучения с++ подключила к нему модуль для разработки С/С++. Версия: 1.16.1.1. Источник: Дистрибутив NetBeans. Описание подключаемого модуля: Поддержка C/C++, включая редактирование, проекты, отладчик GDB и сборку. Предоставляется базовая поддержка...
C++ Интерактивный экран
Есть идея создать интерактивный экран к примеру 800 Х 800 пикселей. Чтобы он был активным интерфейсом в обе стороны. На нём можно было что то нарисовать или кинуть картинку, а компьютер сканировал бы по-пиксельно и мог тоже какие то графические действия выполнять на экране. Подскажите, пожалуйста какие-нибудь идеи, как это можно реализовать.
C++ Запись данных в файл http://www.cyberforum.ru/cpp-beginners/thread637917.html
для хранения данных использую мультикарту,хранящую пару ключ/значение в виде string пробую записать данные в файл и выскакивает ошибка вот определениеtypedef multimap<string,string> DATA; class Dictionary { public: Dictionary(size_t amount = 0,size_t count_of_words = 16,size_t count_of_ID = 16);
C++ Статический пул для класса с помошью class::operator new непонятное исключение? Привет всем! Пытаюсь организовать статический пул(молниеносный аллокатор памяти. ) для некоторого класса. Написал сравнительный тест разница где то до 10 раз, статический пул быстрее. Но есть одна проблема статический пул у меня по умолчанию имеет размер в 1кб класс весит 12 байт. В цикле они создаются и уничтожаются т.е. пул весь не занимается, однако при малом размере вылетает... подробнее

Показать сообщение отдельно
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
15.08.2012, 21:34     Операторы ввода и вывода
Поправочка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
ostream & operator<<(ostream & os, const Checked & Ch)
{
    os<<"double: "<<Ch.id<<endl;
    os<<"int*: ";
    for (int i = 0; i<sizeof Ch.beg/sizeof (int); i++)
        os<<Ch.beg[i]<<" ";
    os<<endl;
    os<<"par.first: "<<Ch.par.first<<" ,par.second: "<<Ch.par.second<<endl;
    for (int i = 0; i<Ch.vec.size(); i++)
        os<<"vec: "<<Ch.vec[i]->first<<", "<<Ch.vec[i]->second<<endl;
    return os;
}
цикл for для массивов:
C++
1
2
3
4
5
6
7
8
9
10
11
int arr[] = {9, 8, 7, 6, 5};
int n = 5;
int* parr = &n;
cout<<"int arr[]: ";
for (int i = 0; i<sizeof arr/sizeof (int); i++)
    cout<<arr[i]<<" ";
cout<<endl;
cout<<"int* parr: ";
for (int i = 0; i<sizeof parr/sizeof (int); i++)
    cout<<parr[i]<<" ";
cout<<endl;
Добавлено через 1 час 6 минут
Вот попробовал весь код дописать, надеюсь чем-то поможет:
код
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
class Checked
{
private:
    double id;
    int *beg;
    pair<string, string> par;
    vector<pair<string, string>* > vec;
public:
    Checked(int n1 = 0, int* n2 = nullptr,
        pair<string, string> p = pair<string, string>("None", "None"),
        vector<pair<string, string>* > v = vector<pair<string, string>* >())
        : id(n1), par(p), vec(v)
    {
        beg = new int;
        beg = n2;
    }
    ~Checked()
    {
        delete beg;
    }
    friend ostream & operator<<(ostream & os, const Checked & Ch);
    friend istream & operator>>(istream & is, Checked & Ch);
};
 
ostream & operator<<(ostream & os, const Checked & Ch)
{
    os<<"double: "<<Ch.id<<endl;
    os<<"int*: "<<*Ch.beg<<endl;  // здесь, всетаки, for (int i = 0; i<sizeof Ch.beg/sizeof (int); i++) не проходит
                                  // надо в классе хранить еще и размер передаваемого массива
    os<<"par.first: "<<Ch.par.first<<" ,par.second: "<<Ch.par.second<<endl;
    for (int i = 0; i<Ch.vec.size(); i++)
        os<<"vec: "<<Ch.vec[i]->first<<", "<<Ch.vec[i]->second<<endl;
    return os;
}
istream & operator>>(istream & is, Checked & Ch)
{
    cout<<"Введите double: ";
    while (!(is >> Ch.id))                
    {
        cin.clear();                    
        while ( is.get() != '\n' ) ;   
        cout << "Ошибка! Введите число: ";
    }   
    cout<<"Введите int: ";
    int temp;
    while (!(is >> temp))                
    {
        cin.clear();                    
        while ( is.get() != '\n' ) ;   
        cout << "Ошибка! Введите целое число: ";
    }   
    while ( is.get() != '\n' )
        continue;
    delete Ch.beg;
    Ch.beg = new int(temp);
    cout<<"Введите pair.first: ";
    getline(is, Ch.par.first);
    cout<<"Введите pair.second: ";
    getline(is, Ch.par.second);
    Ch.vec.push_back(&Ch.par);
    return is;
}
 
 
int main()
{
    SetConsoleCP (1251); SetConsoleOutputCP (1251);
    
    pair<string, string> par1("First_1", "Second_1");
    pair<string, string> par2("First_2", "Second_2");
    vector<pair<string, string>* > vec;
    vec.push_back(&par1);
    vec.push_back(&par2);
    int* n = new int(5);
 
    Checked test_1(100, n, par1, vec);
    cout<<"test_1:\n\n"<<test_1<<endl;
 
    Checked test_2;
    cin>>test_2;
    cout<<"test_2:\n\n"<<test_2<<endl;
 
    system("pause");
    return 0;
}
 
Текущее время: 21:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru