By DePaul Dimadis
Choose your prefered Language: greek_flag uk_flag

Ένα σειριακό αρχείο με όνομα points_2D.txt (για τη λύση της άσκησης πρέπει να το δημιουργήσετε μέσω ενός text editor ή μέσω του MS Excel) περιέχει πληροφορίες που αντιστοιχούν σε χώρους με κινητές συσκευές. Σε κάθε γραμμή του αρχείου, που αφορά ένα χώρο, υπάρχουν δύο αριθμοί τύπου double που αντιστοιχούν στις συντεταγμένες του, και μια ακέραια τιμή που δηλώνει το πλήθος των κινητών συσκευών που υπάρχουν στο χώρο π.χ.
5.27 7.92 19
3.75 8.57 25
………
Να ορίσετε μια δομή με όνομα cell για τη διαχείριση των πληροφοριών του αρχείου points_2D.txt. Τα μέλη της δομής είναι οι 2 καρτεσιανές συντεταγμένες()x,y και το πλήθος των κινητών συσκευών m, όπως ορίστηκαν προηγουμένως.
Να οριστεί ένας πίνακας δομών τύπου cell, Ν θέσεων (Ν = γνωστό) .
Η εξυπηρέτηση των κινητών συσκευών θα γίνεται μέσω σταθμών βάσης (κεραίες). Έχουν προεπιλεγεί 2 σημεία, έστω Α και Β, για να αποτελέσουν σταθμούς βάσης που θα μπορούν να εξυπηρετούν ταυτόχρονα τις κινητές συσκευές. Για τα δύο αυτά σημεία είναι γνωστές οι επιφανειακές συντεταγμένες τους AABBx,y,x,yπου δίνονται ως σταθερές στην αρχή του προγράμματος. Λόγω εξασθένησης του σήματος από τον σταθμό βάσης μέχρι την κινητή συσκευή κάθε σταθμός βάσης μπορεί να καλύψει κινητές συσκευές μέχρι μια μέγιστη απόσταση από αυτόν.
Τα δεδομένα στον πίνακα δομών θα εισάγονται μέσω προσπέλασης του σειριακού αρχείου points_2D.txt εφόσον οι αποστάσεις του κάθε σημείου i του αρχείου και από τα δύο σημεία Α και Β, έστω A,,,iBidd ικανοποιούν συγχρόνως τις σχέσεις : A,,10.0,10.0iBidd≤≤ . Αν το πλήθος των εγγραφών του αρχείου είναι μεγαλύτερο από την τιμή N τότε οι επιπλέον εγγραφές του αρχείου δεν θα συμπεριληφθούν στον πίνακα δομών. Ζητούνται τα παρακάτω (συνάρτηση main( ) ):
1. να γίνει η εισαγωγή των δεδομένων από το αρχείο points_2D.txt στον πίνακα δομών σύμφωνα με τα ανωτέρω, ελέγχοντας την ύπαρξη του αρχείου (δείτε τον κώδικα στη συνέχεια). Αν το αρχείο περιλαμβάνει περισσότερα από Ν σημεία να βρείτε και να εμφανίσετε το πλήθος των γραμμών του αρχείου που ικανοποιούν τις σχέσεις : A,,10.0,10.0iBidd≤≤ και δεν θα συμπεριληφθούν στον πίνακα δομών. Αν το αρχείο περιλαμβάνει λιγότερες από Ν γραμμές να βρείτε και να εμφανίσετε το πλήθος των γραμμών του αρχείου που θα περιέχει ο πίνακας δομών.
2. Στη συνέχεια να βρείτε και να εμφανίσετε :
a. Το συνολικό πλήθος των κινητών συσκευών που θα μπορούν να εξυπηρετηθούν από τα σημεία Α και Β χρησιμοποιώντας τα στοιχεία του πίνακα δομών.
b. Τη μέση τιμή των αποστάσεων όλων των σημείων του πίνακα δομών από το σημείο Α και από το σημείο Β (δηλ. 2 μέσες τιμές).

\r\n

FILE *fp;
errno_t err;

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