voitheia gia askhsh sta nhmata

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
maverick
Δημοσιεύσεις: 4
Εγγραφή: 03 Νοέμ 2008 15:38

voitheia gia askhsh sta nhmata

Δημοσίευση από maverick » 02 Δεκ 2008 16:55

Να γραφεί πρόγραμμα σε C στο οποίο το αρχικό νήμα διαβάζει έναν αριθμό από το χρήστη και έπειτα δημιουργεί 3 νήματα, όπου το πρώτο υπολογίζει και εκτυπώνει την απόλυτη τιμή του αριθμού, το δεύτερο υπολογίζει και εκτυπώνει τον αντίθετο του αριθμού και το τρίτο υπολογίζει και εκτυπώνει την εφαπτομένη του.

pws vriskoume thn apoluth,antitheto kai efaptwmenh enos arithmou?peite mou estw kapoio site na ta vrw..euxaristw..

lakritidis
Δημοσιεύσεις: 401
Εγγραφή: 04 Αύγ 2005 14:35
Τοποθεσία: Katerini
Επικοινωνία:

voitheia gia askhsh sta nhmata

Δημοσίευση από lakritidis » 08 Δεκ 2008 00:07

Το δύσκολο δεν είναι να βρες την απόλυτη τιμή, τον αντίθετο και την εφαπτομένη. Το δύσκολο είναι να το κάνεις αυτό με χρήση threads.

Απόλυτη τιμη

Κώδικας: Επιλογή όλων

If (a>=0) {
AT = a;
} else {
AT =-a;
}
Αντίθετος

Κώδικας: Επιλογή όλων

Ant = -a;
εφαπτομένη

Κώδικας: Επιλογή όλων

ef = tan(a);
Για threads σε linux πρέπει να κάνεις include την pthread.h (να το συμπεριλάβεις και στο linker). Ανοίγεις νέο thread με την pthread_create.

Κώδικας: Επιλογή όλων

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
    void *(*start_routine)(void*), void *arg);
Για να την καλέσεις, πρέπει να ορίσεις μια function (start routine) που θα λεει στο thread τι να κάνει. Τα ορίσματα της function αυτής (αν είναι περισσότερα από ένα) θα πρέπει να τα μαζέψεις σε μία px struct και να περάσεις τον Pointer στο αντίστοιχο argument της pthread_create (void *arg). Εσύ θα φτιάξεις τρεις τέτοιες functions: Η μία θα υπολογίζει τον αντίθετο, η άλλη την απόλυτη τιμή και η τρίτη την εφαπτομένη.

Και θα δημιουργήσεις τρία threads που καλούν κάθε μία από αυτές τις functions.

Δες και αυτό
http://www.opengroup.org/onlinepubs/007 ... reate.html, γράψε και λίγο κώδικα και αν έχεις πρόβλημα εδώ είμαστε.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες