By Thanos Stantzouris
Choose your prefered Language: greek_flag uk_flag

Οι ροπές αδρανείας ενός στερεού σώματος που αποτελείται από 𝛮𝛮 σε πλήθος υλικά σημεία 𝑃𝑖,i=1,2,…,𝑁 με αντίστοιχη μάζα 𝑚, ως προς τα επίπεδα χOy, yOz, zOχ, υπολογίζονται σύμφωνα με τους παρακάτω τύπους :

ΙχΟy = Σmizi2 , ΙyOz = Σmixi2 , ΙzOχ = Σmiyi2

Να οριστεί μια κλάση με όνομα inertia που θα διαχειρίζεται τα δεδομένα που απαιτούνται για τον υπολογισμό των αντίστοιχων ροπών αδρανείας ενός στερεού σώματος. Τα μέλη – δεδομένα της κλάσης (private) θα είναι : οι τρεις συντεταγμένες και η αντίστοιχη μάζα (όλοι οι αριθμοί είναι τύπου double) ενός υλικού σημείου του στερεού σώματος καθώς και ο κωδικός του στερεού σώματος (τύπου int).
Ένας πίνακας αντικειμένων της κλάσης inertia με 𝛮 θέσεις (𝛮 = γνωστό και 𝛮 >100) περιέχει δεδομένα που μπορούν να ανήκουν σε 10 κατά μέγιστο διαφορετικά στερεά σώματα με αντίστοιχους κωδικούς από 0 έως και 9.
Οι απαιτήσεις είναι οι εξής:

               1. Κάθε στοιχείο του πίνακα (αντικείμενο της κλάσης inertia) θα πρέπει να αρχικοποιείται με μηδενικές τιμές με χρήση συνάρτησης constructor (δομητής).

               2. Κάθε στοιχείο του πίνακα θα πρέπει να αποκτά επιτρεπτές τιμές (όλες οι συντεταγμένες είναι θετικές ή μηδέν και η μάζα θετικός αριθμός), με χρήση τυχαίων αριθμών (συνάρτηση rand( ) με άνω όρια που θα καθορίσετε εσείς), με χρήση του κατάλληλου constructor.

               3. Στη συνάρτηση main( ) να βρεθούν και να εμφανιστούν oι ροπές αδρανείας χOy, yOz , zOχ για κάθε στερεό σώμα που υπάρχει στον πίνακα αντικειμένων με την προϋπόθεση κάθε στερεό σώμα να έχει τουλάχιστον 5 υλικά σημεία.