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

Найти площадь равнобедренной трапеции

18.03.2021, 20:31. Показов 2104. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Найти площадь равнобедренной трапеции, с основанием a и b и углом при большем основании альфа (в градусах)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2021, 20:31
Ответы с готовыми решениями:

Найти площадь равнобедренной трапеции
Найти площадь равнобедренной трапеции с основаниями a, b и углом при большем основании а.

Найти площадь равнобедренной трапеции
Даны основания равнобедренной трапеции и угол при большем основании. Найти площадь трапеции.

Найти периметр и площадь равнобедренной трапеции с основаниями a и b (a > b) и углом alpha при большем основании
13. Найти периметр и площадь равнобедренной трапеции с основаниями a и b (a> b) и углом alpha при...

Определить площадь равнобедренной трапеции
Определить площадь равнобедренной трапеции,если заданы основание b,высота h иугол при основании b,...

16
126 / 83 / 44
Регистрация: 18.11.2018
Сообщений: 299
18.03.2021, 21:36 2
Цитата Сообщение от Egorlukin Посмотреть сообщение
Найти площадь равнобедренной трапеции, с основанием a и b и углом при большем основании альфа (в градусах)
Попробуйте:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    double a, b; cin >> a >> b;
    double alpha; cin >> alpha;
    alpha *= M_PI / 180;
    if (a > b) swap(a, b); 
    
    double S = 0.5 * (b*b - a*a) * tan(alpha);
    cout << "S = " << S;
    
    system("pause");
    return 0;
}
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
19.03.2021, 02:43 3
woolfskinny, если основания трапеции a=1, b=3 и угол 45о площадь равна 2. у Вас другой результат.
0
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,057
19.03.2021, 05:16 4
Цитата Сообщение от woolfskinny Посмотреть сообщение
C++
1
if (a > b) swap(a, b);
Что такое swap?

Цитата Сообщение от woolfskinny Посмотреть сообщение
C++
1
alpha *= M_PI / 180;
Что такое M_PI?

Цитата Сообщение от woolfskinny Посмотреть сообщение
C++
1
double S = 0.5 * (b*b - a*a) * tan(alpha);
Формула неверна.

https://www.cyberforum.ru/cgi-bin/latex.cgi?S = \frac{1}{2}\tan \alpha \cdot (b - a)\cdot (a + 1)
0
126 / 83 / 44
Регистрация: 18.11.2018
Сообщений: 299
19.03.2021, 08:55 5
Цитата Сообщение от Yetty Посмотреть сообщение
если основания трапеции a=1, b=3 и угол 45о площадь равна 2. у Вас другой результат.
Откуда эта цифра?

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Формула неверна.
Почему же она неверна, взял её с сайта, который во вложении.
Миниатюры
Найти площадь равнобедренной трапеции   Найти площадь равнобедренной трапеции  
0
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,057
19.03.2021, 09:16 6
Цитата Сообщение от woolfskinny Посмотреть сообщение
Откуда эта цифра?
Во-первых, это не "цифра", а число. Во-вторых, этот результат должен быть вам очевиден. Правильный ответ: 2.

Цитата Сообщение от woolfskinny Посмотреть сообщение
Почему же она неверна, взял её с сайта
Ну такой, видать, сайт. "Не верьте всему, что вы читаете и Интернете" (с)

Цитата Сообщение от woolfskinny Посмотреть сообщение
который во вложении.
О каком "вложении" идет речь?

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Формула неверна.

https://www.cyberforum.ru/cgi-bin/latex.cgi?S = \frac{1}{2}\tan \alpha \cdot (b - a)\cdot (a + 1)
Я тоже сморозил наипрепозорнейшую глупость

https://www.cyberforum.ru/cgi-bin/latex.cgi?S = \frac{{b}^{2}-{a}^{2}}{4}\cdot \tan \alpha

То есть "ваша" формула близка к истине, но в знаменателе должно быть 4, а не 2.
0
126 / 83 / 44
Регистрация: 18.11.2018
Сообщений: 299
19.03.2021, 11:00 7
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
должен быть вам очевиден
Ну как вам сказать.. честно говоря, не очевиден был.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
О каком "вложении" идет речь?
Первая картинка в моем посте (видны ли они вообще?) - там скриншот с сайта, где можно онлайн вычислить площадь по двум основаниям и углу. Источник.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Ну такой, видать, сайт. "Не верьте всему, что вы читаете и Интернете" (с)
Да я искал формулу вычисления площади по двум основаниям и углу, нашел только там её. Я и не думал, что она может быть неверной.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Что такое M_PI?
Число Пи, а что не так?

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Что такое swap?
В качестве большего основания берется b, то есть если введенное a больше b, то меняем их местами, надеюсь понятно объяснил.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
То есть "ваша" формула близка к истине, но в знаменателе должно быть 4, а не 2.
Цитата Сообщение от Egorlukin Посмотреть сообщение
Найти площадь равнобедренной трапеции, с основанием a и b и углом при большем основании альфа (в градусах)
В таком случае нужно сделать так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    double a, b; cin >> a >> b;
    double alpha; cin >> alpha;
    alpha *= M_PI / 180;
    if (a > b) swap(a, b); 
    
    double S = 0.25 * (b*b - a*a) * tan(alpha);
    cout << "S = " << S;
    
    system("pause");
    return 0;
}
0
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,057
19.03.2021, 14:35 8
Цитата Сообщение от woolfskinny Посмотреть сообщение

Число Пи, а что не так?
Это замечательно. Но откуда компилятор узнает, что это "число Пи"? Где объявление этого M_PI? Откуда оно вдруг взялось?

Цитата Сообщение от woolfskinny Посмотреть сообщение
В качестве большего основания берется b, то есть если введенное a больше b, то меняем их местами, надеюсь понятно объяснил.

Это замечательно. Но откуда компилятор узнает, что это "меняем их местами"? Где объявление этого swap?
Откуда оно вдруг взялось?
0
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
19.03.2021, 16:55 9
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Где объявление этого swap?
Допустим, это-то как раз известно, раз сказано:
C++
1
2
#include <iostream>
using namespace std;
А вот для M_PI да, следует добавить #define _USE_MATH_DEFINES перед #include <cmath>
1
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,057
19.03.2021, 17:38 10
Цитата Сообщение от liv Посмотреть сообщение
Допустим, это-то как раз известно, раз сказано:
C++
1
2
#include <iostream>
using namespace std;
Не понял. Какое это имеет отношение к swap? Если вы ведете речь о std::swap, то для него нужно <utility> (или <string_view>). Без <utility> никакого std::swap не существует.

Цитата Сообщение от liv Посмотреть сообщение
А вот для M_PI да, следует добавить #define _USE_MATH_DEFINES перед #include <cmath>
В стандартной библиотеке нет никакого M_PI и нет никакого _USE_MATH_DEFINES.
0
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
19.03.2021, 17:54 11
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Без <utility> никакого std::swap не существует.
В MVStudio 207 существует.
Как и _USE_MATH_DEFINES.
0
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,057
19.03.2021, 18:23 12
Цитата Сообщение от liv Посмотреть сообщение
В MVStudio 207 существует.
Как и _USE_MATH_DEFINES.
Она существует не только и не столько в Visual Studio, сколько в POSIX. Это, однако, не делает ее ближе к языку С++, являющемуся темой форума. Я так понимаю, ТСу требовалось решить задачу именно на С++.

В стандартной библиотеке С++ константа Пи типа double доступна как std::pi_v<double>, а не M_PI.
0
126 / 83 / 44
Регистрация: 18.11.2018
Сообщений: 299
19.03.2021, 21:41 13
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Это замечательно. Но откуда компилятор узнает, что это "число Пи"? Где объявление этого M_PI? Откуда оно вдруг взялось?
Цитата Сообщение от liv Посмотреть сообщение
А вот для M_PI да, следует добавить #define _USE_MATH_DEFINES перед #include <cmath>
Да, действительно, я забыл об этом: #define _USE_MATH_DEFINES. Но только, каким образом у меня компиляция прошла успешно тогда . Использую Dev-C++.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Где объявление этого swap?
Честно говоря, не знаю, как ответить на этот вопрос, всегда использовал это без каких-либо объявлений, а как нужно объявлять?
0
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,057
19.03.2021, 22:04 14
Цитата Сообщение от woolfskinny Посмотреть сообщение
Да, действительно, я забыл об этом: #define _USE_MATH_DEFINES. Но только, каким образом у меня компиляция прошла успешно тогда
Я еще раз повторяю: ни в С, ни в С++ нет никакого M_PI и никогда не было. Соответственно, никакого M_PI в вашей программе быть не должно, если только вы его сами не объявили.

Любые иные M_PI - это самодеятельность вашего компилятора (точнее, реализации). И нужно ли для этого _USE_MATH_DEFINES или не нужно - это тоже вопрос самодеятельности вашего компилятора. Вопроса "каким образом" тут не существует.

Цитата Сообщение от woolfskinny Посмотреть сообщение
а как нужно объявлять?
Очень просто: включить стандартный заголовок, содержащий объявление этой стандартной функции.

Вы же сами включили стандартный заголовок <iostream> для того, чтобы объявить стандартные средства ввода вывода. То есть вы знаете, что для использования стредств стандартной библиотеки нужно включать стандартные заголовки. Почему тогда у вас возникают такие вопросы по поводу swap? Почему вы понимаете, что для средств ввода-вывода нужно включить некий заголовок, но не при этом не понимаете что для swap тоже нужно включить некий заголовок? Как такое может быть?
0
126 / 83 / 44
Регистрация: 18.11.2018
Сообщений: 299
20.03.2021, 11:43 15
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Почему тогда у вас возникают такие вопросы по поводу swap?
Возникают потому что до этого я использовал swap, не включая какие-либо дополнительные заголовки и библиотеки и всё работало на удивление, поэтому как-то и не задумывался.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Как такое может быть?
Объяснил выше.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Очень просто: включить стандартный заголовок, содержащий объявление этой стандартной функции.
Так всё же, как выглядит этот заголовок, чтобы включать его в последующем, я просто ничего не нашел по этому поводу.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Если вы ведете речь о std::swap, то для него нужно <utility> (или <string_view>). Без <utility> никакого std::swap не существует.
А это не очень понял.

Не по теме:

P.S. Не подскажете также, как выделять текст серым, как вы это сделали с <utility>, swap и т. д?

0
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
20.03.2021, 12:40 16
woolfskinny, текст серым - там, где языки, справа сверху, есть INLINE

Добавлено через 1 минуту
TheCalligrapher, мне, кстати, тоже интересно
Приведите полный фрагмент, чтобы получить число ПИ

Добавлено через 53 секунды
Вместе с использованием swap()
1
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,057
20.03.2021, 13:33 17
Цитата Сообщение от woolfskinny Посмотреть сообщение
до этого я использовал swap, не включая какие-либо дополнительные заголовки и библиотеки и всё работало на удивление, поэтому как-то и не задумывался.
Вам просто случайно везло.

Цитата Сообщение от liv Посмотреть сообщение
TheCalligrapher, мне, кстати, тоже интересно
Приведите полный фрагмент, чтобы получить число ПИ
Не совсем понимаю вопроса. Речь идет о pi_v, о котором я говорил выше?

Тогда, если вам нужно число Пи, то, начиная с С++20, вы просто включаете #include <numbers> и далее в программе пользуетесь шаблонной переменной (константой) std::numbers::pi_v<T>, специализированной для нужного вам типа

C++
1
2
3
4
5
6
7
#include <iostream>
#include <numbers>
 
int main()
{
  std::cout << std::numbers::pi_v<double> << std::endl;
}
http://coliru.stacked-crooked.... 33b1d931c1

Цитата Сообщение от liv Посмотреть сообщение
Вместе с использованием swap()
Для использования std::swap нужно явно сделать #include <utility>, а не надеяться, что <iostream> сделает это за вас. Это, собственно, все, о чем я вел речь.
2
20.03.2021, 13:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2021, 13:33
Помогаю со студенческими работами здесь

Площадь равнобедренной трапеции по высоте и основанию
Здравия всем. Кто может помочь, я в этом 0. Даны высота и основание равнобедренной трапеции....

Найти S равнобедренной трапеции
Найти площадь равнобедренной трапеции с основаниями а и b и углом \alpha при большем основании а

Даны основание и высота равнобедренной трапеции, найти периметр (ошибка)
1&gt;d:\учеба\2 семестр\с++\л1\задание3\задание3\исходный код.cpp(20): warning C4551: в вызове функции...

Периметр равнобедренной трапеции
Вот такое вот здание: дано основание и высота равнобедренной трапеции. Нужно найти её периметр. ...

Функция: расчёт периметра равнобедренной трапеции по ее основаниям и высоте
Даны основания и высоты двух равнобедренных трапеций. Найдите сумму их периметров. При решении...

Найти площадь трапеции
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru