Παραδείγματα & Ασκήσεις στην C

...ασύγχρονα μαθήματα γλώσσας C

Re: Προγράμματα & παραδείγματα στην C

Δημοσίευσηαπό migf1 » 03 Ιούλ 2011, 21:38

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

Re: Προγράμματα & παραδείγματα στην C

Δημοσίευσηαπό linuxs » 03 Ιούλ 2011, 21:39

migf1 έγραψε:Αν δεν βαρεθείς να το συντηρείς, είναι πολύ όμορφη ιδέα :) Κάτι σαν ευρετήριο από snippets, ε;

Για ένα 3-μηνο είναι δικό μου...μετά βλέπουμε! :D
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Προγράμματα & παραδείγματα στην C

Δημοσίευσηαπό linuxs » 03 Ιούλ 2011, 21:49

εμμμ....guys, σκεφτόμουν μια ιδέα! Δεν θυμάμαι πως λέγεται το site αλλα ξέρω οτι υπάρχει στο οπόιο ανεβάζουμε κώδικα και τον δείχνει ολόκληρο. Ειδικά αν είναι μεγάλος θα βολέψει. Σκεφτόμουν αν όχι όλα τα περισσότερα προγράμματα να τα βλέπουμε εκεί και στο ποστ να υπάρχει η περιγραφή του προβλήματος και ίσως και η λύση(απο θέμα αλγορίθμου ΜΟΝΟ)έτσι όποιος ενδιαφέρετε πάει και το βλέπει ΚΑΙ με χρώματα!!!...τι λέτε? :/
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Προγράμματα & παραδείγματα στην C

Δημοσίευσηαπό migf1 » 03 Ιούλ 2011, 21:52

Άθροισμα περιττών αριθμών από το 1 μέχρι MAX (αλλάξτε την τιμή του MAX σε ότι θέλετε μέσα στον κώδικα)

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

/* -------------------------------------------------------------
* Υπολογίζει και τυπώνει το άθροισμα των περιττών αριθμών από
* το 1 έως MAX (συμπεριλαμβανομένων)
* Για την εύρεση του αν ένας αριθμός είναι περιττός, εξετάζει αν
* το υπόλοιπο της διαίρεσής του με το 2 είναι διάφορο του μηδενός
* (όταν το υπόλοιπο της διαίρεσης είναι 0, τότε ο αριθμός είναι άρτιος)
* -------------------------------------------------------------
*/

#include <stdio.h>
#define MAX 1000 // αλλάξτε το σε όποιον θετικό ακέραιο θέλετε

int main ( void )
{
long oddsum = 0;
register int i;

for (i=1; i < MAX+1; i++)
if ( i%2 != 0 )
oddsum += i;

printf("Sum of odd numbers from 1 to %d = %ld\n", MAX, oddsum);

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

Re: Προγράμματα & παραδείγματα στην C

Δημοσίευσηαπό migf1 » 03 Ιούλ 2011, 21:53

Υπάρχουν διάφορα. Το http://ideone.com είναι από τα καλά (κάνει και compile και run online).

linuxs έγραψε:εμμμ....guys, σκεφτόμουν μια ιδέα! Δεν θυμάμαι πως λέγεται το site αλλα ξέρω οτι υπάρχει στο οπόιο ανεβάζουμε κώδικα και τον δείχνει ολόκληρο. Ειδικά αν είναι μεγάλος θα βολέψει. Σκεφτόμουν αν όχι όλα τα περισσότερα προγράμματα να τα βλέπουμε εκεί και στο ποστ να υπάρχει η περιγραφή του προβλήματος και ίσως και η λύση(απο θέμα αλγορίθμου ΜΟΝΟ)έτσι όποιος ενδιαφέρετε πάει και το βλέπει ΚΑΙ με χρώματα!!!...τι λέτε? :/
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Προγράμματα & παραδείγματα στην C

Δημοσίευσηαπό linuxs » 03 Ιούλ 2011, 21:53

:( στο αρχικό ποστ το αποτέλεσμα είναι 22****... ουπς ξέχασα αρχικοποίηση... :(
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Προγράμματα & παραδείγματα στην C

Δημοσίευσηαπό linuxs » 03 Ιούλ 2011, 21:55

migf1 έγραψε:
long oddsum = 0;
register int i;
}

ώρα για συζήτηση... :) γιατί χρησιμοποίησες long και register(πρώτη φορά το βλέπω) ? :/
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Προγράμματα & παραδείγματα στην C

Δημοσίευσηαπό migf1 » 03 Ιούλ 2011, 22:03

linuxs έγραψε:
migf1 έγραψε:
long oddsum = 0;
register int i;
}

ώρα για συζήτηση... :) γιατί χρησιμοποίησες long και register(πρώτη φορά το βλέπω) ? :/

long έβαλα για να μπορεί να βγάζει και τεράστια αθροίσματα, π.χ. αν στο κώδικα το MAX οριστεί σε τίποτα... εκατομμύρια :lol:

To register είναι depreciated βασικά στο σύγχρονο hardware. Το βάζαμε όταν θέλαμε η μεταβλητή αντί να δημιουργηθεί στη μνήμη να πάει σε έναν από τους καταχωρητές του υπολογιστή (registers) ώστε να καλείται πολύ πιο γρήγορα. Ήταν στάνταρ πρακτική για μεταβλητές-μετρητές σε loops. Το μείον είναι πως δεν μπορείς να πάρεις τη διεύθυνση μνήμης αυτών των μεταβλητών, δλδ το: &i παράγει σφάλμα στο compiling.

Οι σύγχρονοι compilers και τις register μεταβλητές στην RAM τις δημιουργούν.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Προγράμματα & παραδείγματα στην C

Δημοσίευσηαπό linuxs » 03 Ιούλ 2011, 22:07

migf1 έγραψε:
To register είναι depreciated βασικά στο σύγχρονο hardware. Το βάζαμε όταν θέλαμε η μεταβλητή αντί να δημιουργηθεί στη μνήμη να πάει σε έναν από τους καταχωρητές του υπολογιστή (registers) ώστε να καλείται πολύ πιο γρήγορα. Ήταν στάνταρ πρακτική για μεταβλητές-μετρητές σε loops. Το μείον είναι πως δεν μπορείς να πάρεις τη διεύθυνση μνήμης αυτών των μεταβλητών, δλδ το: &i παράγει σφάλμα στο compiling.

Οι σύγχρονοι compilers και τις register μεταβλητές στην RAM τις δημιουργούν.

Δεν το ήξερα! :Ο Δηλαδή, υποθέτω πως σε παλιούς υπολογιστές μπορεί να μην τρέχει αυτο? :/ ...αλλα και πάλι έχουν καταχωρητές! ...δεν ξέρω! :???
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Προγράμματα & παραδείγματα στην C

Δημοσίευσηαπό migf1 » 03 Ιούλ 2011, 22:08

Σε όλους τρέχει!
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

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

  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Μαθήματα C

cron