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

Friend класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задачи на С++ http://www.cyberforum.ru/cpp-beginners/thread556666.html
Нужно решить 2 задачи,пожалуйста помогите!!!! 1.Описать структуру с именем NOTE,содержащую следующие поля: -фамилия,имя -номер телефона -дата рождения(массив из трех чисел) Написать программу,выполняющую следующие действия: -ввод с клавиатуры данных в массив,состоящий из восьми элементов типа NOTE;записи должны быть упорядочены по датам рождения -вывод на экран информации о человеке,номер...
C++ Теория графов. Максимальный путь между вершинами. Бьюсь который день. Резалтов нет. Пробовал переделывать алгоритмы BFS/DFS, но не то. Единственный выход похоже полный перебор, но что-то не догоняю. Помогите реализовать перебор путей и нахождение максимального пути. Прошу код, или отрывки кода. Алгоритм я понимаю, не могу осуществить на С++. Собственно задача: Дан ориентированный граф с нагрузкой в виде строк. Найти максимальный путь между... http://www.cyberforum.ru/cpp-beginners/thread556647.html
C++ Как отключить чувствительность регистра
Дорогие формучане. Возникла такая проблема, что, при вводе переменной типа string мне необходимо сделать проверку ввода. То есть если введена "кодовая фраза" , то продолжить действие и т.д. Если ли такая функция которая отключает чувствительность регистра, что бы можно было кодовые фразы не писать однообразно, а как вздумается? Надеюсь суть вопроса моего понятна! Надеюсь на вашу помощь!
Запись в файл string C++
не могу записать в файл string, в файл записываются цифры и символы, вот сама запись, а менять на char это одни проблемы появятся в коде, помогите очень срочно нужно( FILE *A; if((A=fopen("file.txt","w"))==NULL) { printf("Error!! 1 not found!");} cout << " " << current->number; cout << " "<< current->author ; cout << " " << current->name ;...
C++ ошибку не могу найти( http://www.cyberforum.ru/cpp-beginners/thread556623.html
не могу понять почему не считает((((( #include "stdafx.h" #include <iostream> #include <conio.h> #include <math.h> using namespace std; int main() { double P=0,Lmed=0,sigma={3,4,5},R; int a=0,Hl=10,L=20,Lmax=80,h=4;
C++ Помогите решить задачу на списки C++ помогите,пожалуйста,с задачей.. Вычислить значения y некоторой функции F(x) в n точках, результаты вычислений y вместе со значениями соответствующих x поместить в список. Вывести на экран элементы списка, содержащие значения x в интервале от a до b, и соответствующие им значения y. необходимо решить с использованием списков и указателей. подробнее

Показать сообщение отдельно
balrak
6 / 6 / 1
Регистрация: 01.04.2012
Сообщений: 81
23.04.2012, 21:30  [ТС]     Friend класса
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
#include <iostream>
 
class assoc
{
    struct pair
    {
        char* name;
        int val;
    };
    int free;
    int max;
    pair* vec;
    assoc(const assoc&);
    assoc& operator=(const assoc&);
    friend class assoc_iterator;
public:
    assoc(int);
    int& operator[](const char*);
    void print_all();
};
 
assoc::assoc(int a)
{
    max = (a < 16) ? 16 : a;
    free = 0;
    vec = new pair[max];
}
 
int& assoc::operator[](const char* p)
{
    register pair* pp;
    for (pp = &vec[free-1]; vec <= pp ; pp--)
        if(strcmp(p,pp->name) == 0)
            return pp->val;
    if(max == free)
    {
        pair* nvec = new pair[max*2];
        for(int i = 0; i< max; i++)
            nvec[i] = vec[i];
        delete vec;
        vec = nvec;
        max *=2;
    }
    pp = &vec[free++];
    pp->name = new char[strlen(p)+1];
    strcpy(pp->name, p);
    pp->val = 0;
    return pp->val;
}
 
void assoc::print_all()
{
    for(int i = 0; i < free; i++)
        std::cout << vec[i].name << ":" << vec[i].val << "\n";
}
 
class assoc_iterator
{
    const assoc* cs;
    int i;
public:
    assoc_iterator(const assoc& s){cs = &s ; i = 0;}
    /*pair* operator()()
    {
        return (i < cs->free) ? &cs->free[i++] : 0;
    }*/
};
 
void main()
{
    const int max =256;
    char buf[max];
    assoc vec(512);
    while(std::cin >> buf)
        vec[buf]++;
    assoc_iterator next(vec);
   /* pair* p;
    while(p = next(vec))
        std::cout << p->name << ":" << p->val << "\n";*/
}
если закоментировать не рабочие места то все работает

Добавлено через 13 минут
C++
1
2
3
4
pair* operator()()
* * {
* * * * return (i < cs->free) ? &cs->free[i++] : 0;
* * }
почему элемн free видет , а pair нет?
 
Текущее время: 13:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru