Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- double abs(double a) {
- return (a > 0) ? a : -a;
- }
- double sqrt(int arg) {
- double low = 0;
- double mid = double(arg) / 2.0;
- double high = arg;
- while (abs(mid * mid - arg) > 1.0e-5) {
- // std::cout << arg - mid * mid << ' ' << low << ' ' << high << '\n';
- if (mid * mid < arg) {
- low = mid;
- } else {
- high = mid;
- }
- mid = (high + low) / 2.0;
- }
- return mid;
- }
- int main() {
- int radius;
- std::cout << "Radius: ";
- std::cin >> radius;
- for (int i = 0; i <= 2 * radius; ++i) {
- for (int j = 0; j <= 2 * radius; ++j) {
- double x_hand = abs(j - radius); // горизонатльный катет
- double y_hand = abs(i - radius); // вертикальный катет
- std::cout << ((y_hand > sqrt(radius * radius - x_hand * x_hand)) ? " " : "#");
- }
- std::cout << '\n';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement