Προς το περιεχόμενο

Ασκηση σε C


I@n15

Προτεινόμενες αναρτήσεις

Δημοσ.

γεια και χαρα σε ολους.Λοιπον μολις εχω μπει στα struct και εχω ενα προβλημα με μια ασκηση.Βασικα το προβλημα δεν ειναι τοσο στα struct ιδια αλλα στο υπολοιπο

 

Η ασκηση εχει ως εξεις:

 

1)να γραψουμε μια δομη που να παριστανει ενα σημειο στο επιπεδο

 

2)Υλοποιηση συναρτησης που θα υπολογιζει την ευκλειδια αποσταση μεταξυ δυο σημειων.Η συναρτηση θα ζητα απο τον χρηστη να δωσει τις συντεταγμενες των σημειων.

 

3)Υλοποιηση συναρτησης η οποια θα επιστρφει 1 εφοσον η αποσταση μεταξυ των σημειων θα ειναι μικροτερη απο 0.000001 αλλιως θα επιστρεφει 0

 

4)Υλοποιηση συναρτησης που θα διαβαζει τις συντεταγμενες 3 σημειων και θα εμφανιζει το ζευγαρι των σημειων με την μεγαλυτερη ευκλειδια αποσταση.

 

--------------------------------------------------------------------------------------------------------

 

Το πρωτο προβλημα που αντιμετωπιζω ειναι οτι πρεπει να δηλωσω τις μεταβλητες να ειναι τυπου double μου πεταει συνεχεια προβλημα ο compiler ετσι αναγκαστηκα να τα δηλωσω ολα int προς το παρον για να μπορω να δουλεψω.

 

--------------------------------------------------------------------------------------------------------

 

Ο κωδικας μου ειναι ο εξης:

 

 

#include <stdio.h>

#include <math.h>

 

 

//Grafoume mia domi pou anaparista ena simio stin othoni

 

struct point{

 

int x;

int y;

 

}sintetagmeni;

 

/**********************************************************/

 

//Sinartisi pou zitaei apo ton xristi na dosei tis sintetagmenes ton simeion

 

int readpoint()

{

 

printf("dose sintetagmeni gia to simeio x:\n");

scanf("%i",&sintetagmeni.x);

 

printf("dose sintetagmeni gia to simeio y:\n");

scanf("%i",&sintetagmeni.y);

 

efklidia_apostesi(sintetagmeni.x,sintetagmeni.y); //kalo tin sinartisi efklidia apostasi

 

}

 

/******************************************************/

 

//Sinartisi ipologismou tis efklideias apostasi anamesa se 2 simeia

 

int efklidia_apostasi(int a,int B)

{

 

int x1,y1;

int x2,y2;

 

printf("dose times gia tin x1\n");

scanf("%i",&x1);

 

printf("dose times gia tin x2\n");

scanf("%i",&x2);

 

printf("dose times gia tin y1\n");

scanf("%i",&y1);

 

printf("dose times gia tin x2\n");

scanf("%i",&y2);

 

 

int d(a,B) = pow((sqrt(y1-x1) + sqrt(y2-x2));

 

printf("%i\n",d);

 

}

 

/*****************************************************/

 

 

int main()

{

readpoint();

}

 

--------------------------------------------------------------------------------------------------------

 

Στο τεταρτο σκελος δεν μπηκα καν διοτι δεν ξερω αν μεχρι εδω ειναι σωστο.

 

 

Ευχαριστω για οποια βοηθεια οποτε και αν ερθει.

 

Φιλε gtroza αν με θυμασαι θα μπορεις να διαπιστωσεις οτι το καρβουνακι παει συννεφο ακομα ε?:-)

Δημοσ.
γεια και χαρα σε ολους.Λοιπον μολις εχω μπει στα struct και εχω ενα προβλημα με μια ασκηση.Βασικα το προβλημα δεν ειναι τοσο στα struct ιδια αλλα στο υπολοιπο

 

Η ασκηση εχει ως εξεις:

 

1)να γραψουμε μια δομη που να παριστανει ενα σημειο στο επιπεδο

 

2)Υλοποιηση συναρτησης που θα υπολογιζει την ευκλειδια αποσταση μεταξυ δυο σημειων.Η συναρτηση θα ζητα απο τον χρηστη να δωσει τις συντεταγμενες των σημειων.

 

3)Υλοποιηση συναρτησης η οποια θα επιστρφει 1 εφοσον η αποσταση μεταξυ των σημειων θα ειναι μικροτερη απο 0.000001 αλλιως θα επιστρεφει 0

 

4)Υλοποιηση συναρτησης που θα διαβαζει τις συντεταγμενες 3 σημειων και θα εμφανιζει το ζευγαρι των σημειων με την μεγαλυτερη ευκλειδια αποσταση.

 

--------------------------------------------------------------------------------------------------------

 

Το πρωτο προβλημα που αντιμετωπιζω ειναι οτι πρεπει να δηλωσω τις μεταβλητες να ειναι τυπου double μου πεταει συνεχεια προβλημα ο compiler ετσι αναγκαστηκα να τα δηλωσω ολα int προς το παρον για να μπορω να δουλεψω.

 

--------------------------------------------------------------------------------------------------------

 

Ο κωδικας μου ειναι ο εξης:

 

 

#include <stdio.h>

#include <math.h>

 

 

//Grafoume mia domi pou anaparista ena simio stin othoni

 

struct point{

 

int x;

int y;

 

}sintetagmeni;

 

/**********************************************************/

 

//Sinartisi pou zitaei apo ton xristi na dosei tis sintetagmenes ton simeion

 

int readpoint()

{

 

printf("dose sintetagmeni gia to simeio x:\n");

scanf("%i",&sintetagmeni.x);

 

printf("dose sintetagmeni gia to simeio y:\n");

scanf("%i",&sintetagmeni.y);

 

efklidia_apostesi(sintetagmeni.x,sintetagmeni.y); //kalo tin sinartisi efklidia apostasi

 

}

 

/******************************************************/

 

//Sinartisi ipologismou tis efklideias apostasi anamesa se 2 simeia

 

int efklidia_apostasi(int a,int B)

{

 

int x1,y1;

int x2,y2;

 

printf("dose times gia tin x1\n");

scanf("%i",&x1);

 

printf("dose times gia tin x2\n");

scanf("%i",&x2);

 

printf("dose times gia tin y1\n");

scanf("%i",&y1);

 

printf("dose times gia tin x2\n");

scanf("%i",&y2);

 

 

int d(a,B) = pow((sqrt(y1-x1) + sqrt(y2-x2));

 

printf("%i\n",d);

 

}

 

/*****************************************************/

 

 

int main()

{

readpoint();

}

 

--------------------------------------------------------------------------------------------------------

 

Στο τεταρτο σκελος δεν μπηκα καν διοτι δεν ξερω αν μεχρι εδω ειναι σωστο.

 

 

Ευχαριστω για οποια βοηθεια οποτε και αν ερθει.

 

Φιλε gtroza αν με θυμασαι θα μπορεις να διαπιστωσεις οτι το καρβουνακι παει συννεφο ακομα ε?:-)

 

Ασκηση ΤΕΙ Πειραια,...μου μυριζει! :shifty:

 

Το προβλημα σου ειναι οτι εχεις δηλωσει τα ορισματα σαν int, πηγαινε και κοιτα τα definitions της pow και sqrt και να δεις τι δεχεται! Αλλαξε τα αναλογα ή κανε castings. :-)

Δημοσ.

Φιλε gtroza αν με θυμασαι θα μπορεις να διαπιστωσεις οτι το καρβουνακι παει συννεφο ακομα ε?

 

Φίλε I@n15 σε θυμάμαι

βλέπω πρόοδο ! :-D

 

καλή μέρα και καλό μήνα

 

η ρίζα θα δίνει μάλλον, μη ακέραιο

 

ζηλεύω ! :mrgreen::mrgreen::mrgreen:

.

Δημοσ.

γεια σου φιλε μου gtroza και καλο μηνα.Ολα καλα?

Ελεγα κ εγω,παραξενο,αργησε:-)

 

Ναι ναι προχωραμε σιγα σιγα,αντε κανενα δυο μηνες υπομονη ακομα να μπουμε στο unix ν αρχισει να εχει ενδιαφερον το κολπο..

 

Ναι οσον αφορα την ασκηση,οπως ειπα παραπανω εχω προβλημα οταν δηλωνω τις μεταβλητες στο struct os double.Εχει καμια ιδιαιτεροτητα?

Δημοσ.
γεια σου φιλε μου gtroza και καλο μηνα.Ολα καλα?

Ελεγα κ εγω,παραξενο,αργησε:-)

 

Ναι ναι προχωραμε σιγα σιγα,αντε κανενα δυο μηνες υπομονη ακομα να μπουμε στο unix ν αρχισει να εχει ενδιαφερον το κολπο..

 

Ναι οσον αφορα την ασκηση,οπως ειπα παραπανω εχω προβλημα οταν δηλωνω τις μεταβλητες στο struct os double.Εχει καμια ιδιαιτεροτητα?

 

Κοιτα εδω:

 

http://www.cplusplus.com/reference/clibrary/cmath/pow.html

http://www.cplusplus.com/reference/clibrary/cmath/sqrt.html

 

:-)

Δημοσ.

Δηλαδη εκτος απο την sqrt το υπολοιπο της ασκησης ειναι σωστο?ετσι πρεπει να γινει?

Λιγο doctor οσο αφορα το τελευταιο σκελος αν ειναι ευκολο?

Δημοσ.
Δηλαδη εκτος απο την sqrt το υπολοιπο της ασκησης ειναι σωστο?ετσι πρεπει να γινει?

Λιγο doctor οσο αφορα το τελευταιο σκελος αν ειναι ευκολο?

 

Tην συναρτηση efklidia_apostesi() θα την καλουσα μεσα στην main() και οχι μεσα στην readpoint(). :-)

Δημοσ.

οκ θα την καλεσω απο την main τοτε.Οποτε και το 4ο σκελος θα το κανω με τιν ιδιο τροπο.Φιλε gtroza καλο αλλα λιγο καρβουνιαρικο ακομα ε?

 

Σιγα σιγα και με πολυ δουλεια ελπιζω να φτασω καποια μερα στην πηγη.Ο φλοις C καραδοκει στην γωνια αλλα πρεπει να μαθω πρωτα τα βασικα.Τι να κανεισ....μονο υπομονη..

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...