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

Задачи для тренировки и лучшего понимания - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 2744, средняя оценка - 4.89
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
15.07.2010, 05:53     Задачи для тренировки и лучшего понимания #1
Ребят. Кто-нибудь может дать задачу для тренировки? Приблизительно по всему курсу С++. Буду благодарен за сложную задачу, но которую способен сделать новичок-любитель. Затраты сил-времени не важно. Главное, чтобы это было интересно и не слишком рутинно. + Если найдется человек который даст задачу просьба помогать с кодом, который я буду себя скидывать. Не переписывать за меня, но указывать на ошибки и желательно объяснять. Заранее спасибо.

Список задач, решение которых присутствует в данной теме:
Лучшие ответы (59)
Сообщение: #857841 Сообщение: #857861 Сообщение: #858352 Сообщение: #859371 Сообщение: #860160 Сообщение: #860255 Сообщение: #860259 Сообщение: #860317 Сообщение: #860368 Сообщение: #860466 Сообщение: #860508 Сообщение: #860720 Сообщение: #861091 Сообщение: #862174 Сообщение: #862617 Сообщение: #867259 Сообщение: #870298 Сообщение: #872053 Сообщение: #876456 Сообщение: #880114 Сообщение: #882889 Сообщение: #884418 Сообщение: #886414 Сообщение: #886989 Сообщение: #887733 Сообщение: #888464 Сообщение: #888487 Сообщение: #888941 Сообщение: #888947 Сообщение: #889040 Сообщение: #889450 Сообщение: #889587 Сообщение: #891772 Сообщение: #891790 Сообщение: #891862 Сообщение: #897758 Сообщение: #897782 Сообщение: #906325 Сообщение: #907991 Сообщение: #943672 Сообщение: #943700 Сообщение: #967735 Сообщение: #1053777 Сообщение: #1054209 Сообщение: #1083853 Сообщение: #1083928 Сообщение: #1131058 Сообщение: #1131359 Сообщение: #1273743 Сообщение: #1275465 Сообщение: #1276743 Сообщение: #1279215 Сообщение: #1282583 Сообщение: #1309088 Сообщение: #1315633 Сообщение: #1366395 Сообщение: #1550164 Сообщение: #1603678 Сообщение: #1604364
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2010, 05:53     Задачи для тренировки и лучшего понимания
Посмотрите здесь:

C++ Какой компилятор выбрать для лучшего изучения С++ по книге Берна Страуструпа?п
C++ Элементарные программы, для лучшего понимания языка...
Нужны задачи для тренировки C++
C++ Киньте задачки для тренировки
C++ Нужны простые задачи для тренировки
Нужны задачи для тренировки C++
На соревнованиях по фигурному катанию оценки заносятся в компьютер. Составить программу для вывода на экран лучшего результата после каждого выступлен C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
15.07.2010, 08:41     Задачи для тренировки и лучшего понимания #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
попробуй эту. в принципе, ничего сложного. можно пофантазировать, и "улучшить" (усложнить) задание...
Миниатюры
Задачи для тренировки и лучшего понимания  
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
15.07.2010, 10:08  [ТС]     Задачи для тренировки и лучшего понимания #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
nikkka, Хм. На ООП и наследование... Ну что ж. Можно и попробовать. Виртуальное наследование:

virtual public/private/protected?
Время выхода стрелка на рубеж через псевдослучайные числа?
Так. pokerplayer обязательно использует функцию класса Person, не переопределенную в данном классе?

Добавлено через 39 минут
Для начала так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Person_classes.h
#ifndef PERSON_CLASSES_H_
#define PERSON_CLASSES_H_
#include <string>
class Person
{
    std::string name;
    std::string surname;
public:
    Person(){}
    Person(std::string name_, std::string surname_):name(name_), surname(surname_){}
            ~Person(){}
    void SetInfo(std::string name_, std::string surname_);
    void Show() const;
    Person(const Person&Ob):name(Ob.name), surname(Ob.surname){}
    Person& operator =(Person&Ob);
};
#endif
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//Person_functions.cpp
#include "Person_classes.h"
#include <iostream>
#include <string>
void Person::Show() const
{
    std::cout<<"Name: "<< name <<'\n';
    std::cout<<"Surname: "<< surname <<'\n';
    std::cout<<std::endl;
}
void Person::SetInfo(std::string name_, std::string surname_)
{
    name=name_;
    surname=surname_;
}
Person& Person::operator =(Person &Ob)
{
    if(this==&Ob)
        return *this;
    name=Ob.name;
    surname=Ob.surname;
    return *this;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Person.cpp
#include "Person_classes.h"
#include <iostream>
#include <string>
int main()
{
    Person Temp;
    std::string name;
    std::string surname;
    std::cout<<"Enter name: "; std::getline(std::cin, name);
    std::cout<<"Enter surname: "; std::getline(std::cin, surname);
    Temp.SetInfo(name, surname);
    Temp.Show();
    return 0;
}
Добавлено через 17 минут
Остальное вечером. Уезжать над
[Freeman]
34 / 34 / 6
Регистрация: 07.06.2010
Сообщений: 118
15.07.2010, 15:20     Задачи для тренировки и лучшего понимания #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Написал по первому абзацу классы Person Gunslinger
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
//P_and_G_classes.h - заголовочный файл с классами Person & Gunslinger пока в одном файле
#include <string>
using std::string;
class Person
{
public:
    Person(string name_, string surname_):name(name_),surname(surname_) {};
    Person(){}
    virtual ~Person(){}
    virtual void Show();
    void SetInfo(string name_, string surname_);
    Person& operator=(Person& rhs);
protected:
    string name;
    string surname;
};
 
//------------------------------------------------
 
 
class Gunslinger : virtual public Person
{
public:
    Gunslinger(){}
    Gunslinger(string name_, string surname_,int trunks_):
      trunks(trunks_),
      Person(name_ , surname_) {}
 
    virtual void Show();
    double Draw(){return 0;} // временно
    void SetInfo(string name_, string surname_,int trunks_);
    Gunslinger& operator=(Gunslinger& rhs);
protected:
    int trunks;
};
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
#ifndef _h_
#define _h_
//P_and_G_functions.cpp - файл реализации функций Person & Gunslinger
#include <iostream>
#include "P_and_G_classes.h"
using std::cout;
using std::endl;
void  Person::Show() 
{
    cout<<"Name : "<<name<<endl;
    cout<<"Surname : "<<surname<<endl;
}
 
Person& Person::operator =(Person& rhs)
{
    if(this==&rhs)
        return *this;
    SetInfo(rhs.name , rhs.surname);
    return *this;
}
 
void Person::SetInfo(string name_, string surname_)
    {
        name=name_;
        surname=surname_;
    }
 
void Gunslinger::SetInfo(string name_, string surname_,int trunks_)
    {   
        Person::SetInfo(name_,surname_);
        trunks=trunks_;
    }
 
void Gunslinger::Show()
{
    Person::Show();
    cout<<"Time to Line : "<< Draw()<<endl;
    cout<<"Trunks : "<<trunks<<endl;
}
 
Gunslinger& Gunslinger::operator=(Gunslinger& rhs)
{
    if(this==&rhs)
        return *this;
    SetInfo(rhs.name, rhs.surname, rhs.trunks);
    return *this;
}
 
#endif
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
#include "P_and_G_classes.h" //проверка функциональности классов
#include <iostream>
int main()
{
Person per1;
Person per2;
per2.SetInfo("Max","Payne");
per1=per2;
per1.Show();
Person* pPer;
int choice;
std::cout<<"Enter (1)Person,(2)Gunslinger : ";
std::cin>>choice;
switch(choice)
{
case 1:
    pPer=new Person("Good","Person");
    break;
case 2:
    pPer=new Gunslinger("Bad","Dude",2);
    break;
}
pPer->Show();
delete pPer;
return 0;
}
Как можно в типе double представить время, типа целая часть часы а дробная минуты или как?
И еще Cdraw() должна возвращать случайную карту или следующую по порядку ?
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
15.07.2010, 15:30     Задачи для тренировки и лучшего понимания #5
Цитата Сообщение от [Freeman
;858352]типа целая часть часы а дробная минуты
можно и так, но минут 60, а сотых частей 100...
попробуй сделать так:
time=3.5 - 3 ч. 30 мин.
time=2.333333 - 2 ч. 20 мин.
minin100=(minin60/60)*100

Добавлено через 20 секунд
по другому не представляю..
[Freeman]
34 / 34 / 6
Регистрация: 07.06.2010
Сообщений: 118
15.07.2010, 21:29     Задачи для тренировки и лучшего понимания #6
Вобще не много не корректное задание
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
16.07.2010, 15:26  [ТС]     Задачи для тренировки и лучшего понимания #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Сделал. Но есть пара проблем. А именно.
1) Время выдается все-таки фигово. Но вроде не превышает 24 часов.
2) В
C++
1
2
3
4
else if (n==4)
    {
        Arr=new BadDude("Name", "Surname", 2);
    }
Не читает имя и фамилию. Оставляет пустые строки. В чем трабл понять не могу.

Сам код.
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
//Person_classes.h
#ifndef PERSON_CLASSES_H_
#define PERSON_CLASSES_H_
#include <string>
class Person
{
protected:
    std::string name;
    std::string surname;
public:
    Person(){}
    Person(std::string name_, std::string surname_):name(name_), surname(surname_){}
    virtual~Person(){}
    virtual void SetInfo(std::string name_, std::string surname_);
    virtual void Show();
    Person(const Person&Ob):name(Ob.name), surname(Ob.surname){}
    Person& operator =(Person&Ob);
};
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
class GunLisher:virtual public Person
{
protected:
    int num_of_st;
public:
    GunLisher(){}
    GunLisher(int num_of_st_, std::string name_, std::string surname_):
    Person(name_, surname_), num_of_st(num_of_st_){}
    virtual~GunLisher(){}
    void SetInfo(std::string name_, std::string surname_, int num_of_st_);
    double Draw();
    virtual void Show();
    GunLisher(const GunLisher&Ob);
    GunLisher& operator =(GunLisher&Ob);
};
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
class PokerPlayer:virtual public Person
{
public:
    PokerPlayer(){}
    PokerPlayer(std::string name_, std::string surname_):Person(name_, surname_){}
    virtual ~PokerPlayer(){}
    void SetInfo(std::string name_, std::string surname_);
    int Draw();
    virtual void Show();
};
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
class BadDude:public GunLisher, public PokerPlayer
{
public:
    BadDude(){}
    BadDude(std::string name_, std::string surname_, int num_of_st_):
    GunLisher(num_of_st_, name_, surname_),
        PokerPlayer(name_,surname_){}
    virtual ~BadDude(){}
    double Gdraw();
    int Cdraw();
    virtual void Show();
    void SetInfo(std::string name_, std::string surname_, int num_of_st_);
};
#endif
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//Person_sunctions.cpp
#include "Person_classes.h"
#include <iostream>
#include <string>
#include <ctime>
void Person::Show()
{
    std::cout<<"Name: "<< name <<'\n';
    std::cout<<"Surname: "<< surname <<'\n';
    std::cout<<std::endl;
}
void Person::SetInfo(std::string name_, std::string surname_)
{
    name=name_;
    surname=surname_;
}
Person& Person::operator =(Person &Ob)
{
    if(this==&Ob)
        return *this;
    name=Ob.name;
    surname=Ob.surname;
    return *this;
}
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
void GunLisher::Show()
{
    std::cout<<"Name: "<< name <<'\n';
    std::cout<<"Surname: "<< surname <<'\n';
    std::cout<<"Time: "<< Draw() <<'\n';
    std::cout<<"Num_of_st: "<< num_of_st <<'\n';
}
void GunLisher::SetInfo(std::string name_, std::string surname_, int num_of_st_)
{
    name=name_;
    surname=surname_;
    num_of_st=num_of_st_;
}
GunLisher& GunLisher::operator =(GunLisher &Ob)
{
    if(this==&Ob)
        return *this;
    name=Ob.name;
    surname=Ob.surname;
    num_of_st=Ob.num_of_st;
    return *this;
}
GunLisher::GunLisher(const GunLisher &Ob)
{
    name=Ob.name;
    surname=Ob.surname;
    num_of_st=Ob.num_of_st;
}
double GunLisher::Draw()
{
    double hours=0;
    srand(time(NULL));
    hours=1+rand()%(23);
    hours*=60;
    int minutes=0;
    minutes=1+rand()%(59);
    double min=hours+minutes;
    double times=0;
    times=min/60;
    return times;
}
/////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
int PokerPlayer::Draw()
{
    int card=0;
    srand(time(NULL));
    card=1+rand()%(52);
    return card;
}
void PokerPlayer::Show() 
{
    Person::Show();
    std::cout<<"Number of card: "<< Draw() <<'\n';
}
void PokerPlayer::SetInfo(std::string name_, std::string surname_)
{
    name=name_;
    surname=surname_;
}
/////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
int BadDude::Cdraw()
{
    int card=0;
    srand(time(NULL));
    card=1+rand()%(52);
    return card;
}
double BadDude::Gdraw()
{
    double hours=0;
    srand(time(NULL));
    hours=1+rand()%(23);
    hours*=60;
    int minutes=0;
    minutes=1+rand()%(59);
    double min=hours+minutes;
    double times=0;
    times=min/60;
    return times;
}
void BadDude::Show()
{
    Person::Show();
    std::cout<<"Num_of_st: "<< num_of_st <<'\n';
    std::cout<<"Time: "<< Gdraw() <<'\n';
    std::cout<<"Card: "<< Cdraw() <<'\n';
}
void BadDude::SetInfo(std::string name_, std::string surname_, int num_of_st_)
{
    name=name_;
    surname=surname_;
    num_of_st=num_of_st_;
}
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
//Person.cpp
#include "Person_classes.h"
#include <iostream>
#include <string>
int main()
{
    Person*Arr;
    int n=0;
    std::cout<<"Enter n: 1 for work with Person class, 2 for work with GunLisher, "
        <<"3 for work with PokerPlayer, 4 for work with BadDude\n "; std::cin>>n;
    if(n==1)
    {
        Arr=new Person("Name", "Surname");
    }
    else if (n==2)
    {
        Arr=new GunLisher(2, "Name", "Surname");
    }
    else if (n==3)
    {
        Arr=new PokerPlayer("Name", "Surname");
    }
    else if (n==4)
    {
        Arr=new BadDude("Name", "Surname", 2);
    }
    else
    {
        std::cout<<"Error\n";
        exit(1);
    }
    Arr->Show();
    return 0;
}
Добавлено через 11 часов 18 минут
Может кто-нибудь объяснить в чем проблема вышла? + Дать еще задание) Посложнее что-ль...
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 17:17     Задачи для тренировки и лучшего понимания #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Lavroff, на STL?
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
16.07.2010, 17:18  [ТС]     Задачи для тренировки и лучшего понимания #9
nikkka, На С++ вцелом. Потоки, стл, классы и пр.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.07.2010, 18:11     Задачи для тренировки и лучшего понимания #10
Lavroff, почему файлы содержащие объявление и реализацию класса Person имеют различное название?
Lаmer
7 / 7 / 4
Регистрация: 24.03.2010
Сообщений: 25
16.07.2010, 18:15     Задачи для тренировки и лучшего понимания #11
Я делал так:

1) Открываешь блокнот (ну или emacs);
2) Ищешь по ключевым словам темы, где народ просит написать за них код;
3) Копипастишь в файл, пока не наберешь 10-15 тем;
4) Пишешь программы;
5) Опционально: когда программа написана - сверяешь, для интереса.

Рекомендую.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
16.07.2010, 18:17  [ТС]     Задачи для тренировки и лучшего понимания #12
CyBOSSeR, Це так важно? Не знаю. Переименовать проблем не возникнет, а по смыслу логичнее. В одном классы, в другом реализация функций. Заметил там печатная ошибка. person_functions.cpp.
Lаmer
7 / 7 / 4
Регистрация: 24.03.2010
Сообщений: 25
16.07.2010, 18:19     Задачи для тренировки и лучшего понимания #13
Цитата Сообщение от Lavroff Посмотреть сообщение
CyBOSSeR, Це так важно? Не знаю. Переименовать проблем не возникнет, а по смыслу логичнее. В одном классы, в другом реализация функций

Не по теме:

Дурной тон, тащемта.

ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
16.07.2010, 18:21  [ТС]     Задачи для тренировки и лучшего понимания #14
Lаmer, А в чем это дурной тон? Какое название логичнее: Person_classes.cpp или Person_functions.cpp если учитывать, что там описаны функции классов содержащихся в Person_classes.h?
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.07.2010, 18:22     Задачи для тренировки и лучшего понимания #15
Lavroff, если ты один работаешь над проектом - нет. Но это противоречит общепринятым соглашениям, и видя название person_functions, очень сложно догадаться что там реализация класса, а не некие вспомогательные функции для работы с классом. Просто назови person.h и person.cpp.
Цитата Сообщение от Lavroff Посмотреть сообщение
В одном классы, в другом реализация функций
Реализация методов класса не является частью класса?
HIMen
 Аватар для HIMen
4109 / 1358 / 39
Регистрация: 12.04.2009
Сообщений: 2,346
16.07.2010, 18:23     Задачи для тренировки и лучшего понимания #16
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Lavroff, Дан целочисленный массив, наподобие такого {1, 7, 3, 7, 8, 1, 3}. Все его элементы, кроме одного повторяются ровно 2 раза (две 1, две 7, две 3, но одна 8). Найти это неповторяющееся число. Числа и размер массива могут быть любыми.
Надеюсь понятно объяснил.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
16.07.2010, 18:24  [ТС]     Задачи для тренировки и лучшего понимания #17
CyBOSSeR, Является. Действительно вы правы. Спасибо. А по поводу ошибок?

Добавлено через 1 минуту
HIMen, Спасибо. Попробую сделать)
MikeSoft
Эксперт C++
 Аватар для MikeSoft
3787 / 1769 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
16.07.2010, 18:26     Задачи для тренировки и лучшего понимания #18
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Lavroff, Хотите проверить свои знания при работе с указателями?
Не открывая среду разработки попробуйте в голове решить такую задачку:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    char buf1[100] = "Hello";
    char buf2[100] = "World";
    char *ptr1 = buf1+2;
    char *ptr2 = buf2+3;
    strcpy(ptr1, buf2);
    strcpy(ptr2, buf1);
    cout << ptr1 << endl << ptr2 << endl;
 
    return 0;
}
Попробуйте не жульничать, не открывать IDE ...
Если вы решите эту задачку, считайте что указатели почти усвоили.

Ответ и примечание (Открывать в самый последний момент)
Если у вас возникли сложности при решении этой задачи в голове, попробуйте представить решение на листке бумаге.
Правильный ответ:
World
HeWorld

При возникновении вопроса "почему?" - пишите, попробую подробно обьяснить.
Подробное объяснение можно прочитать здесь: Почему правильный ответ "World HeWorld"?...
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
16.07.2010, 18:34  [ТС]     Задачи для тренировки и лучшего понимания #19
MikeSoft, Возник вопрос почему... Что-то не могу врубиться.
Черт. Открыв IDE дабы проверить резалт после того как уже понял что не врублюсь и прогнав пошагово понял.
Мы изменяем значение ptr1 который ссылается на buf1, следовательно buf1 тоже изменяется. Но только с 2 символа, а первые два символа остаются. Так?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2010, 18:45     Задачи для тренировки и лучшего понимания
Еще ссылки по теме:

C++ Какая база требуется для понимания C++?
C++ Нужен пример рекурсивной функции для понимания ее назначения и практической пользы
C++ Builder Прошу примеров для понимания INDY
Книги для тренировки/развития котелка и просто убийства времени C++
Дайте задания для тренировки C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 18:45     Задачи для тренировки и лучшего понимания #20
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Lavroff, почему файлы содержащие объявление и реализацию класса Person имеют различное название?
а разве есть разница? :-S
главное ведь подключить их правельно.
да?
Yandex
Объявления
16.07.2010, 18:45     Задачи для тренировки и лучшего понимания
Закрытая тема Создать тему
Опции темы

Текущее время: 05:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru