Τα πάντα για την C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 24 Ιουν 2011, 12:56

Παιδιάα, έχω διαβάσει τα tutorials εδώ στο forum, του migf1 και το μισό από το The C Programming Language. Όμως το The C Programming Language έχει κάτι τρελά παραδείγματα τα οποία μου είναι δυσνόητα ψάχνω ένα αναλυτικό tutorial για να εμβαθύνω λίγο. Μπορείτε να μου προτείνετε κάτι (κατά προτίμηση ελληνικά, αλλά αν είναι και αγγλικά δεν με πειράζει, όλες οι προτάσεις καλοδεχούμενες, από βιβλίο μέχρι videos);
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 24 Ιουν 2011, 13:26

Δεν το έχω διαβάσει προσωπικά, αλλά όλοι λένε τα καλύτερα για το Η γλώσσα C σε βάθος.

ΥΓ. Το "The C Programming Language" είναι όντως στρυφνό για ξεκίνημα (είναι πολύτιμο σαν reference όμως, όταν μάθεις τη γλώσσα).
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 24 Ιουν 2011, 13:33

Εδώ μπορείς να δεις και τις λύσεις των ασκήσεων του συγκεκριμένου βιβλίου: http://c.bytes.gr/files/apantiseis_v3.pdf
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό clepto » 24 Ιουν 2011, 13:44

http://csharp.comsci.us/etymology/function/math/trig.html Qdata κοίτα εδώ...δεν ξέρω αν είναι αυτό που ρωτάς αλλά είναι σχετικό
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 24 Ιουν 2011, 15:32

Νομίζω κάτι τέτοιο ψάχνεις φίλε Qdata: http://www.mathwarehouse.com/trigonomet ... adians.php
(που υποθέτω μπορείς να το χρησιμοποιήσεις με οποιαδήποτε γλώσσα).

Qdata έγραψε:
clepto έγραψε:άρχισα να φτιάχνω ένα πρόγραμμα με τύπους της φυσικής της 1ης λυκείου για υπολογισμούς (Qdata σου κλέβω την ιδέα )


Να ρωτήσω: Η C δίνει το συνημίτονο, ημίτονο, εφαπτομένη σε rads;Αν ναι ήταν αυτό που με "έσκασε" και στη python.(Βρήκα λύση, και αν χρειαστείς πες μου)! :)
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό clepto » 24 Ιουν 2011, 16:51

έχω μια απορία...πείτε ότι έχω έναν απλό κώδικα όπως αυτός
Κώδικας: Επιλογή όλων

#include <stdio.h>

main(){
int x, y;
printf("bale arithmous ");
scanf("%d" "%d", &x, &y);

printf("oriste %d %d", x, y);
}


αυτός ο κώδικας παίρνει μέχρι 2 μεταβλητές...
αν το χρήστης βάλει παραπάνω εμφανίζει μόνο τις 2 πρώτες...
πως μπορώ να το κάνω όσους αριθμούς να βάλει ο χρήστης να τις βάζει σε μεταβλητές και μετά να κάνει τις πράξεις;
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 24 Ιουν 2011, 17:08

Αντί για scanf() διαβάζεις όλη τη γραμμή του input μονοκόμματα σε μια μεταβλητή τύπου string (έχεις φροντίσει να έχει ικανή χωρητικότητα) χρησιμοποιώντας είτε την έτοιμη fgets() είτε την custom s_get() (που έχω αναλύσει πολλές φορές και με κώδικα, και εδώ και στο φόρουμ της gvrteam).

Κατόπιν με χρήση της έτοιμης συνάρτησης strtok() σπας το μονοκόμματο string σου στις λέξεις (υπό-strings) από τις οποίες αποτελείται (π.χ. όσες χωρίζονται από κενά) και αναθέτεις τη κάθε μια από αυτές σε μεταβλητές, χρησιμοποιώντας έτοιμες συναρτήσεις από τη βιβλιοθήκη stdlib.h για να μετατρέψεις την κάθε λέξη στον τύπο δεδομένων που αντιστοιχεί στην εκάστοτε μεταβλητή (π.χ. την atoi() για να μετατρέψεις μια λέξη από string σε int, κλπ).

Αν βρεις το κουράγιο να διαβάσεις το νήμα του Calculator, τα γράφω αναλυτικά, με παραδείγματα και κώδικα.
clepto έγραψε:έχω μια απορία...πείτε ότι έχω έναν απλό κώδικα όπως αυτός
Κώδικας: Επιλογή όλων

#include <stdio.h>

main(){
int x, y;
printf("bale arithmous ");
scanf("%d" "%d", &x, &y);

printf("oriste %d %d", x, y);
}


αυτός ο κώδικας παίρνει μέχρι 2 μεταβλητές...
αν το χρήστης βάλει παραπάνω εμφανίζει μόνο τις 2 πρώτες...
πως μπορώ να το κάνω όσους αριθμούς να βάλει ο χρήστης να τις βάζει σε μεταβλητές και μετά να κάνει τις πράξεις;
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό clepto » 24 Ιουν 2011, 17:25

θα το τσεκάρω γιατί το χρειάζομαι...
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό clepto » 24 Ιουν 2011, 17:39

άλλη μια απορία που μου ήρθε τώρα...τι είναι οι boolean types και που μας βοηθάνε;
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 24 Ιουν 2011, 18:08

clepto έγραψε:άλλη μια απορία που μου ήρθε τώρα...τι είναι οι boolean types και που μας βοηθάνε;

Στην C δεν ξέρω, αλλά στη Python bollean είναι αυτά τα 0 1 δλδ TRUE FALSE... Πάντως κάτι τέτοιο θα είναι αφού η python και η C μοιάζουν πολύ...
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι