С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/34: Рейтинг темы: голосов - 34, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 21.12.2018
Сообщений: 3
1

Класс "Равносторонний треугольник" и производный класс "Правильная треугольная призма"

21.12.2018, 10:11. Показов 6382. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать класс равносторонний треугольник, член класса – длина стороны.

Предусмотреть в классе методы вычисления и вывода сведений о фигуре – периметр, площадь.

Создать производный класс – правильная треугольная призма с высотой H, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре.

Написать программу, демонстрирующую работу с классом: дано N треугольников и M призм.

Найти количество треугольников, у которых площадь меньше средней площади треугольников, и призму с наибольшим объемом

error C2057: требуется константное выражение
error C2466: невозможно выделить память для массива постоянного нулевого размера
error C2133: ar_tr: неизвестный размер
error C2057: требуется константное выражение
error C2466: невозможно выделить память для массива постоянного нулевого размера
error C2133: ar_pr: неизвестный размер
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
#include <iostream>
#include <math.h>
using namespace std;
//класс треугольников
class triangle {  
protected:
    float len; //длина строны
public: 
    void set_len(float l) { len = l; } //установить длину  
    float perimeter(); //поиск периметра
    float area(); //поиск площади
    void show_perimeter(); //вывод периметра
    void show_area(); //вывод площади
};
float triangle::perimeter()
{
     return len * 3;
}
void triangle::show_perimeter()
{
     cout << "Perimeter of the triangle is equal to " << triangle::perimeter() 
          << endl;
}     
float triangle::area()
{
     //вычисляется по формуле герона 
     float p = len*3/2;
     float a = sqrt(p*(p-len)*(p-len)*(p-len)); 
     return a;
}
void triangle::show_area()
{
     cout << "Area of a triangle is equal to " << triangle::area() << endl;
}
//класс призм
class prism : public triangle {
    float h; //высота
public:
    void set_h(float hh) { h = hh; } //установит значение высоты
    float volume(); //вычисление объема
    float area(); //вычисление площади
    void show_volume(); //вывод объема
    void show_area(); //вывод площади
};    
float prism::volume()
{                
     return triangle::area() * h;
}
 
float prism::area()
{
      return triangle::area()*2 + (h*len)*3;
}
 
void prism::show_volume()
{
     cout << "The volume of the prism is " << prism::volume() << endl;
}
 
void prism::show_area()
{
     cout << "Area of a prism is equal to " << prism::area() << endl;
}
 
int main()
{
    int N;
    cout << "Enter the count of triangles N: ";
    cin >> N;
    
    int M;
    cout << "Enter the number of prisms M: ";
    cin >> M;
    
    int i;
    triangle ar_tr[N]; //массив объектов треугольников
    //ввод значения стороны треугольника
    float temp;
    for(i=0; i<N; i++) {
             cout << "Enter the length of the triangle: "; 
             cin >> temp;            
             ar_tr[i].set_len(temp);
    }
    //вывод данных (площадь и периметр) о треугольниках
    for(i=0; i<N; i++) {
        ar_tr[i].show_area();
        ar_tr[i].show_perimeter(); 
    }                                           
    prism ar_pr[M]; //массив объектов призм  
    //ввод грани и высоты призмы 
    for(i=0; i<N; i++) {
             cout << "Enter the face and height of the prisms: ";   
             cin >> temp;          
             ar_pr[i].set_len(temp);
             cin >> temp;
             ar_pr[i].set_h(temp);
    }
    //вывод данных (площадь и объем) о призмах
    for(i=0; i<M; i++) {
        ar_pr[i].show_area();
        ar_pr[i].show_volume();
    }    
    //поиск среднего значения площади треугольников    
    float sum=0;
    for(i=0; i<N; i++) sum += ar_tr[i].area();    
    float average = sum/N; //среднее значение      
    //вывод количества треугольников площадь которых меньше средней
    int count=0;
    for(i=0; i<N; i++) 
        if (ar_tr[i].area() < average) count++;
    cout << "\nThe count of triangles, whose area is less than the average: "
         << count;
    
    //поиск призмы с наибольшим объемом
    float max = ar_pr[0].volume();
    for(i=1; i<M; i++) if (max < ar_pr[i].volume()) max = ar_pr[i].volume();
    cout << "Value of the maximum volume of prisms: " << max;
    
    cin.get();
    return 0;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2018, 10:11
Ответы с готовыми решениями:

Создать производный класс – правильная квадратная призма
Создать класс квадрат, члены класса - длина стороны. Предусмотреть в классе методы вычисления и...

Создать производный класс – равносторонний треугольник
Само задание разбито на 2 части (классы) - треугольник и равносторонний треугольник. Обе части...

Создать базовый класс Треугольник с 2 наследниками: Равносторонний треугольник, Прямоугольный треугольник
Задание звучит так: Нужно создать базовый класс Треугольник с двумя наследующими его классами - ...

Создать производный класс – равносторонний треугольник
Создать производный класс – равносторонний треугольник, перегрузить в классе проверку, является ли...

1
Модератор
Эксперт С++
13727 / 10923 / 6479
Регистрация: 18.12.2011
Сообщений: 29,155
21.12.2018, 10:54 2
Лучший ответ Сообщение было отмечено P0liceman как решение

Решение

Цитата Сообщение от P0liceman Посмотреть сообщение
triangle ar_tr[N]; //массив объектов треугольников
C++
1
triangle* ar_tr=new triangle[N];
Аналогично для призмы
1
21.12.2018, 10:54
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.12.2018, 10:54
Помогаю со студенческими работами здесь

Создать класс TPrism - Правильная призма, создать потомки TPrism3 и TPrism4 - треугольная и четырехугольная призмы
Создать класс TPrism, представляющий правильную призму и содержащий методы для нахождения площади...

Создать класс треугольная призма
Помогите с заданием Создать класс треугольная призма, члены класса - длины 4-х измерений - стороны...

Создать производный класс "Равносторонний треугольник", перегрузить в классе проверку равносторонности
Создать производный класс –равносторонний треугольник, перегрузить в классе проверку, является ли...

Создать класс квадрат и производный класс – правильная пирамида с апофемой А
Помогите пожалуйста, в Delphi Создать класс квадрат, член класса – длина стороны. Предусмотреть в...

Правильная треугольная призма
Найти длину отрезка

Правильная треугольная призма, площадь сечения
дана правильная треугольная призма A B C A1 B1 C1 ,у которой сторона основания равна 8. Найдите...

Создать класс треугольник, заданный длинами сторон. Определить производный класс квадрат
Создать класс треугольник, заданный длинами сторон. Определить производный класс...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru