c++_area

PHOTO EMBED

Thu Apr 24 2025 20:55:24 GMT+0000 (Coordinated Universal Time)

Saved by @tino

#include <iostream>
#include <cmath>

class Pin {
public:
    int id;
    int n_ring;
    float* radius;

    Pin(int id, int n_ring, float* rad) : id(id), n_ring(n_ring) {
        radius = new float[n_ring];
        for (int i = 0; i < n_ring; i++) {
            radius[i] = rad[i];
        }
    }

    ~Pin() {
        delete[] radius;
    }

    float calc_total_area() {
        float area = 0.0;
        for (int i = 0; i < n_ring; i++) {
            area += M_PI * radius[i] * radius[i];
        }
        return area;
    }

    float calc_total_volume() {
        float volume = 0.0;
        for (int i = 0; i < n_ring; i++) {
            volume += (4.0 / 3.0) * M_PI * radius[i] * radius[i] * radius[i];
        }
        return volume;
    }

    void print() {
        std::cout << "Pin ID: " << id << ", Rings: " << n_ring << "\n";
        std::cout << "Total Area: " << calc_total_area() << "\n";
        std::cout << "Total Volume: " << calc_total_volume() << "\n";
    }
};

int main() {
    float rad[] = {1.0, 2.0};
    Pin p(1, 2, rad);
    p.print();
    return 0;
}
content_copyCOPY