C/C++

Программирование на языке C++

Здравствуйте, помогите пожалуйста решить 15 задачку
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
struct Shape {
virtual double area()const = 0;
};
class Square : public Shape {
public:
Square() : a(0) {}
explicit Square(const double a) : a(a) {}
double area()const { return a * a; }
private:
double a;
};
class Circle : public Shape {
public:
Circle() : r(0) {}
explicit Circle(const double r) : r(r) {}
double area()const { return pi * r * r; }
private:
double r;
inline static const auto pi = 3.1415926535897932;
};
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
system("chcp 1251 > nul");
puts("Задание 16");
auto a = real("Введите длину стороны квадрата: ");
Square square(a);
Circle circle(a / 2.0);
auto area = (square.area() - circle.area()) / 2.0;
cout << "Площадь закрашенной части фигуры: "
<< fixed << setprecision(3) << area << '\n';
system("pause > nul");
}

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
struct Shape {
virtual double area()const = 0;
};
class Square : public Shape {
public:
Square() : a(0) {}
explicit Square(const double a) : a(a) {}
double area()const { return a * a; }
private:
double a;
};
class Circle : public Shape {
public:
Circle() : r(0) {}
explicit Circle(const double r) : r(r) {}
double area()const { return pi * r * r; }
private:
double r;
inline static const auto pi = 3.1415926535897932;
};
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
system("chcp 1251 > nul");
puts("Задание 17");
auto a = real("Введите длину стороны квадрата: ");
Square square_big(a);
Square square_small(a / 2.0);
Circle circle(a / 2.0);
auto area = (square_big.area() - circle.area()) / 3.0 + square_small.area();
cout << "Площадь закрашенной части фигуры: "
<< fixed << setprecision(3) << area << '\n';
system("pause > nul");
}
АБ
Алексей Бондаренко
55 247
Лучший ответ
Посчитай площадь квадрата, вычти площадь круга и подели на два... В чем проблема?
Шамиль Динва
Шамиль Динва
58 686
Евгений Билингер полагаю тут ему надо объяснить как вычислить площадь квадрата, как определить диаметр круга, как вычислить площадь круга по диаметру, так еще и написать готовую программу.
з. ы. предположение что вычитать и делать на 2 он умеет)
Может я на ассемблере тебе напишу?
Владимир Дусь
Владимир Дусь
7 902
Шамиль Динва А давай, пусть потрахается перевести в си. Это реально забавно будет.;)