Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
NYRA
0 / 0 / 0
Регистрация: 09.11.2015
Сообщений: 22
#1

Наследование: базовый класс Квадрат, производный класс Пирамида - C++

14.03.2016, 20:36. Просмотров 665. Ответов 3
Метки нет (Все метки)

Помогите, пожалуйста!

Добавлено через 6 минут
Создать класс КВАДРАТ, член класса- длинна стороны. Предусмотреть в классе методы вычисления ы вывода сведений о фигуре-диагональ,периметр,площадь. Создать производный класс - правильная пирамида с апофемой А, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре. Написать программу демонстрирующую работу с этими классами: дано N квадратов и М пирамид, найти среднюю площадь квадратов и пирамиду с минимальной площадью.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2016, 20:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Наследование: базовый класс Квадрат, производный класс Пирамида (C++):

Создать класс "Квадрат" и производный класс "Правильная пирамида"
Заранее спасибо за помощь)

Базовый класс Complex и производный класс для реализации квадратных матриц
1) Создайте базовый класс Complex (комплексное число) для реализации...

Создать базовый класс - Array и производный класс - Money для работы денежной суммы
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный...

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка),...

Указатели в базовом классе на базовый класс и производный класс
Пишу контейнер "Бинарное дерево поиска" для частотного словаря. С самим...

Создать базовый класс Triad и производный класс vector3D
Помогите пожалуйста с заданием. Часть кода(vector3D) сделал, вроде работает...

3
MrJone
6 / 6 / 8
Регистрация: 18.09.2014
Сообщений: 124
14.03.2016, 21:17 #2
А что мешает решить? Всё что нужно дано. Тут помогают решать проблемы, а не писать программку под "заказ")
1
jdzvk
20 / 10 / 2
Регистрация: 07.03.2016
Сообщений: 211
15.03.2016, 02:08 #3
эмм. неудобно читать условие. непонятно, в чём затруднения.
прежде чем писать код. лучше понимать, что надо сделать.
*это же не многомерные неевклидовы пространства, где голову себе поломать можно.
----
ага. сложное: - Пирамида.правильная. то есть - надо будет работать с пирамидой.
дали: - Квадрат.
получается: квадрат - либо основание правильной 4х-угольной пирамиды,
либо профиль её сечения. как будто бы её разрезали от вершины к основанию.

--
1.проще всего притвориться, что вы подумали что Квадрат - это основание пирамиды.
диагональ и всё такое легко находится.
2.после этого - вам просто надо начинать строить. на большой Квадрат - класть Квадрат меньше.
для чего выбрать размер размер "кирпича".
*высоту следующего(всех последующих) слоёв, и насколько следующий слой будет меньше.
-------------------------------------------
мысленно построили пирамиду, и увидели: в самом верху - в предпоследнем слое - 4 Кирпича.
и сверху можно положить - только 1 кирпич.
это значит, что размер "кирпича" - должен быть кратен числу граней.
то есть::
1й член класса - длина 1го квадрата. Ll01
2й член класса - длина 2го квадрата. Ll02, или как удобно.
длина бОльшего члена класса должна делиться на (Ll01-Ll02) без остатка.
иначе можете вывести на экран "не буду строить кривую пирамиду".
если для 4х-гранной пирамиды вы выберете 1й размер 4000, то минимальный возможный размер кирпичика =1
и у вас не будет проблем при расчётах.
*но если 1=1см -вы получите торт "наполеон", который будет выше новогодней й0лки.)
хм. 4000 мало.
--------------
*скока там у Египетской пирамиды слоёв? - не суть. вы имеете модель.
Апофема - была определена в момент выбора размера "кирпича",
и производное от вашего Ll01-Ll02.
-если вы в тексте разберётесь, и умеете немножко написать код - всё сможете сделать

Добавлено через 2 часа 22 минуты
в куске выше - вы 'создали' как бы класс-конструктор.
это нисколечки не помешает.
если в задаче понадобится ещё 4х-гранных правильных пирамид,
-останется лишь задать размер "кирпича" и "величину" класса.
*все обсчёты площадей, объёма, ... , -школьное. и может быть посчитано отдельно.
--------
если вы смогли сделать одну пирамиду - вы сможете сделать и остальные.
*если ваш препод скажет, что хотел ещё 5-гранную пирамиду, 8,9,11-гранную
-и это вы тоже сможете, надо будет лишь немного изменить параметры создаваемого класса.
зато вы сможете использовать одинаковое "школьное"(расчёты) для всех классов,
поскольку боковая сторона пирамиды - треугольник.
что-то непонятно - пишите)
0
NYRA
0 / 0 / 0
Регистрация: 09.11.2015
Сообщений: 22
10.04.2016, 11:16  [ТС] #4
вот что я сделала:
class kvadrat
{
protected:
double a1;
const static double pi = 3.14159265;
public:
kvadrat() {a1=0; }
kvadrat(double a) {a1=a;}
kvadrat(const kvadrat& tr) {}
// стороны
double geta() { return a1; }

double perimeter() { return a1*4 }
double area()
{
return (a1*a1);
}
double diagonal()
{ return (a1*sqrt(2))}

Добавлено через 44 секунды
а дальше не могу понять что писать...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2016, 11:16
Привет! Вот еще темы с решениями:

Создать базовый класс Тройка_чисел (Triad) и производный класс Time с полями часы, минуты и секунды
Наследование. Виртуальныефункции.Полиморфизм. 1. Цельзадания: 1) Создание...

Базовый класс Liquid и производный класс Alcohol
Создать класс Liquid, имеющий поля названия и плотности. Определить методы...

Базовый класс Complex и производный класс Vector
Создайте базовый класс Complex (комплексное число) для реализации комплексных...

Базовый класс Triad и производный класс vector3D
Создать базовый класс Triad (тройка чисел) с операциями сложения с числом,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru