By DePaul Dimadis
Choose your prefered Language: greek_flag uk_flag

Το Καρτεσιανό και το Σφαιρικό Σύστημα Συντεταγμένων καθορίζουν τη θέση ενός σημείου του τρισδιάστατου επίπεδου χώρου μέσω των μεγεθών ()x,y,z και ()r,,ϑϕ αντίστοιχα. Ο μετασχηματισμός από τις Καρτεσιανές Συντεταγμένες ()x,y,z στις Σφαιρικές ()r,,ϑϕ πραγματοποιείται μέσω των τύπων: (δες τυπους μετατροπης συντεταγμενων)
Να ορίσετε μια δομή με όνομα coords για τη διαχείριση υλικών σημείων μάζας im ενός στερεού σώματος. Τα μέλη της δομής είναι η μάζα και οι τρεις καρτεσιανές συντεταγμένες()x,y,z, όπως ορίστηκαν προηγουμένως. Όλες οι τιμές είναι τύπου double.
Ένα σειριακό αρχείο με όνομα xyz.txt (για τη λύση της άσκησης πρέπει να το δημιουργήσετε μέσω ενός text editor ή μέσω του MS Excel) περιέχει άγνωστο πλήθος γραμμών που αντιστοιχούν στα υλικά σημεία ενός στερεού σώματος. Κάθε γραμμή του αρχείου περιέχει τέσσερις τιμές τύπου double που αντιστοιχούν στις τρεις καρτεσιανές συντεταγμένες και στη μάζα ενός υλικού σημείου (μέλη - δεδομένα).
Να οριστεί ένας πίνακας δομών τύπου coords, Ν θέσεων (Ν = γνωστό) .
Τα δεδομένα στον πίνακα δομών θα εισάγονται μέσω προσπέλασης του σειριακού αρχείου xyz.txt εφόσον το μέγεθος 𝑟𝑟 που προκύπτει από τον μετασχηματισμό ικανοποιεί τη σχέση : 1.0≤𝑟𝑟≤15.0 .
Αν το πλήθος των εγγραφών του αρχείου είναι μεγαλύτερο από την τιμή N τότε οι επιπλέον εγγραφές του αρχείου δεν θα συμπεριληφθούν στον πίνακα δομών.
Ζητούνται τα παρακάτω (συνάρτηση main( ) ):
1. να γίνει η εισαγωγή των δεδομένων από το αρχείο xyz.txt στον πίνακα δομών σύμφωνα με τα ανωτέρω, ελέγχοντας την ύπαρξη του αρχείου (δείτε τον κώδικα στη συνέχεια). Αν το αρχείο περιλαμβάνει περισσότερα από Ν υλικά σημεία να βρείτε και να εμφανίσετε το πλήθος των γραμμών του αρχείου που ικανοποιούν τη συνθήκη 1.0≤𝑟𝑟≤15.0 και δεν θα συμπεριληφθούν στον πίνακα δομών. Αν το αρχείο περιλαμβάνει λιγότερες από Ν γραμμές να βρείτε και να εμφανίσετε το πλήθος των γραμμών του αρχείου που θα περιέχει ο πίνακας δομών.
2. Στη συνέχεια να βρείτε και να εμφανίσετε το μέτρο του διανύσματος θέσης του κέντρου μάζας του στερεού σώματος από τον παρακάτω τύπο, λαμβάνοντας υπόψη όλα τα στοιχεία του πίνακα δομών.

FILE *fp;
errno_t err;

if (err=(fopen_s(&fp,filename,mode))!=0)
{
printf("error reading file....\n");
exit(1);
}
else // reading from file
{