Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2018, 20:45   #1
hardprogramm
Пользователь
 
Регистрация: 01.03.2016
Сообщений: 20
По умолчанию Задачи

Всем привет.

Помогите решить задачи.

Задание №1
Объявить класс «Прямоугольник», заданный четырьмя координатами.
Предусмотреть метод изменения размеров и функцию вычисления площади
прямоугольника.

Задание 1 решил, выглядит оно таким образом:

#include <iostream>

using namespace std;

class CRect
{
public:
int left;
int top;
int right;
int bottom;

CRect( int l, int t, int r, int b ) : left(l), top(r), right(r), bottom(b)
{
// код, который выполняется при объявлении объекта класса CRect с указанием вершин
}
CRect( int w, int h ) : left(0), top(0), right(w), bottom(h)
{
// код, который выполняется при объявлении объекта класса CRect с указанием габаритов
// при этом левый верхний угол будет на координатах 0,0
}
CRect()
{
// код, который выполняется при объявлении объекта класса CRect без указания чего-либо
left = top = right = bottom = 0;
}


// установка (Set) и получение (Get) ширины (Width) и высоты (Height)
void SetWidth( int nWidth ) { right = left + nWidth; }
void SetHeight( int nHeight ) { bottom = top + nHeight; }
int GetWidth() { return right - left; }
int GetHeight() { return bottom - top; }

// передвинуть прямоугольник на координаты
void MoveTo( int x, int y )
{
right = x + GetWidth();
left = x;

bottom = y + GetHeight();
top = y;
}

// получить площадь квадрата (произведение ширины и высоты)
int GetSquare()
{
return GetWidth() * GetHeight();
}
};

int main()
{
/*
0,0
-----------------
| |
| |
| |
| |
| |
| |
-----------------
200,200
*/

// создаем прямоугольник с заданными габаритами
CRect rect( 200, 200 );

// создаем прямоугольник с заданными вершинами
//CRect rect( 100, 100, 300, 300 );

cout << "Наш квадрат: A( " << rect.left << ", " << rect.top << "), C( " << rect.right << ", " << rect.bottom << " )\n";

// меняем ширину
rect.SetWidth( 500 );

cout << "Наш квадрат: A( " << rect.left << ", " << rect.top << "), C( " << rect.right << ", " << rect.bottom << " )";
cout << " имеет площадь " << rect.GetSquare() << " ед.";

char wait;
cin >> wait;
return 0;
}

Помогите пожалуйста реализовать остальные задачи на основании уже решенной или новым способом.

Задание №2
Определить класс «точка» (см. Пример №1). Переработать ранее
определённый класс «прямоугольник», где элементами данных «координаты»
являются представители класса «точка». Применить различные
спецификаторы доступа (private, protected, public) для защиты данных класса.

Задание №3
В ранее определённом классе «Прямоугольник» реализовать метод изменения
размеров фигуры как встроенный. Реализовать метод вычисления площади
фигуры вне тела класса.

Доступ к элементам данных
Функции-элементы находятся в области действия класса, котором они
определены. Обычные функции или методы другого класса могут получить
доступ к элементам данных и к методам с помощью операции . или –>,
применяемых соответственно к представителю или указателю на представитель
класса.

Задание №4
Создать локальный объект класса «Прямоугольник», ранее определённого.
Задать его координаты и вывести на печать площадь фигуры.

Задание №5
Динамически создать объект класса «Прямоугольник», ранее определённого.
Задать его координаты и вывести на печать площадь фигуры.
hardprogramm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите где можно найти задачи по C++, что бы задачи были начиная от простого и постепенно усложнялись. Тимох Общие вопросы C/C++ 1 12.09.2015 21:50
Составить математическую модель задачи задачи линейного программирования DemonXZ Помощь студентам 0 15.06.2013 12:02
Решается судьба.. Надо решить две задачи.Мне задачи, вам практика и мое уважение) romichj Общие вопросы C/C++ 3 30.03.2012 00:33
ребят я не могу понять как решать эти задачи!может кто помочь в решении представленной задачи? Andrusha07 Помощь студентам 0 09.03.2012 23:08