Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Задача по c++ / 5 сообщений из 5, страница 1 из 1
12.03.2021, 16:21
    #40052947
PavelGR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по c++
Имеется вот такая задача (фото в вложениях), вроде как суть понял но не могу понять как сделать так что бы на выводе мы получили число с буквой (в данном случае ответ с радиусом r), и как ввести в переменную alpha pi/3 и так далее

вот такой код я пока сделал
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
//Подключим библиотеки
#include <iostream>
#include <cmath>
#include <windows.h>
//Объявем переменные
using namespace std;
double a, b, c, r = 1, x, y, pi = 3.14159265, alpha;
//Создадим функцию
double Function(double alpha)
{
    return (pow(r, 3) * sin(alpha) * pow(sin((180 - alpha) / 2), 2)) / r; //Функция
}
//Тело кода
int main()
{
    setlocale(LC_ALL, "Rus"); //Для вывода на русском языке
    cout << "Введите alpha:";
    cin >> alpha; //Вввод alpha
    y = Function(alpha);
    cout << "Решение: " << y << endl;
    return 0;
}



Модератор: Используй теги SRC для оформления исходников.
...
Рейтинг: 0 / 0
12.03.2021, 16:38
    #40052955
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по c++
Для этого надо вывести эту букву с помощью оператора вывода.
А пи/3 это 1.047197551.
...
Рейтинг: 0 / 0
12.03.2021, 16:48
    #40052962
PavelGR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по c++
Dimitry Sibiryakov,

Тоесть отдельно cout << "r" <<; ?
...
Рейтинг: 0 / 0
12.03.2021, 18:16
    #40052983
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по c++
Да.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.03.2021, 03:16
    #40053072
Пётр Седов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по c++
PavelGR
как ввести в переменную alpha pi/3 и так далее
Стандартный C++-ный ввод (iostreams) не поддерживает parsing формул вроде «pi / 3», поэтому вводите цифрами:
π / 2 &approx; 1.5707963267948966
π / 3 &approx; 1.0471975511965976

PavelGR
Код: plaintext
1.
sin((180 - alpha) / 2)

Это не может работать правильно, потому что стандартная функция sin принимает угол в радианах. Надо как-то так:
Код: plaintext
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.
#include <assert.h>
#include <math.h>
#include <iostream>

using namespace std;

double squ(double x) {
  return x * x;
}

double cube(double x) {
  return x * x * x;
}

const double _pi = 3.141592653589793; // без учёта НДС

const double _radius = 3;
const double _circle_area = _pi * squ(_radius); // площадь круга

// площадь треугольника; angle -- в радианах
double triangle_area(double angle) {
  assert((0 < angle) && (angle < _pi));
  return 4 * cube(cos(0.5 * angle)) * sin(0.5 * angle) * squ(_radius);
}

bool almost_equals(double x, double y) {
  return fabs(x - y) <= 0.0001;
}

int main() {
  // тестовые случаи из задания
  assert(almost_equals(triangle_area(_pi / 3), (3 * sqrt(3) * squ(_radius)) / 4));
  assert(almost_equals(triangle_area(_pi / 2), squ(_radius)));

  cout << "Enter angle in radians: ";
  double angle;
  cin >> angle;
  double tri_area = triangle_area(angle);
  cout << "triangle area = " << tri_area << endl;
  cout << "ratio = " << _circle_area / tri_area << endl;
  return 0;
}
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Задача по c++ / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]