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

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

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

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

Δημοσίευσηαπό migf1 » 14 Μαρ 2012, 23:08

Star_Light έγραψε:
...
p.s Μπορεις να μπερδευτεις για πλάκα ακομη και στα if else

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

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

Δημοσίευσηαπό Ilias95 » 14 Μαρ 2012, 23:18

@Star_Light
Βάλε braces. Έτσι όπως το έχεις είναι συντακτικά λάθος γραμμένο πρώτα απ' όλα.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

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

Δημοσίευσηαπό Star_Light » 14 Μαρ 2012, 23:21

Ilias95 έγραψε:@Star_Light
Βάλε braces. Έτσι όπως το έχεις είναι συντακτικά λάθος γραμμένο πρώτα απ' όλα.


Δεν ειναι... δοκιμασε το στον compiler... εκτος απο τα 1, 2 αριστερα :P
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

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

Δημοσίευσηαπό Star_Light » 14 Μαρ 2012, 23:23

Moνο σε αυτη τη περιπτωση θα έπρεπε να βάλω παρενθέσεις (οπωσδηποτε)

->

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


if( ...)
if(....)
command;
else
command;



Αν σας κουράζει και δεν βγάζετε νοημα μην το απαντησετε!
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

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

Δημοσίευσηαπό migf1 » 14 Μαρ 2012, 23:35

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

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

Δημοσίευσηαπό Ilias95 » 14 Μαρ 2012, 23:37

Star_Light έγραψε:
Ilias95 έγραψε:@Star_Light
Βάλε braces. Έτσι όπως το έχεις είναι συντακτικά λάθος γραμμένο πρώτα απ' όλα.


Δεν ειναι... δοκιμασε το στον compiler... εκτος απο τα 1, 2 αριστερα :P

Όντως! :shock:
Δεν το ήξερα ότι μπορείς μετά από if χωρίς να βάλεις braces να δηλώσεις και άλλη συνθήκη.
Αλλά γιατί να κάνεις κάτι τέτοιο;;; Βάλε braces και καθάρισες. Για να καταλαβαίνεις και εσύ και οι άλλοι τι έγραψες...
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

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

Δημοσίευσηαπό migf1 » 14 Μαρ 2012, 23:43

Ilias95 έγραψε:
Όντως! :shock:
Δεν το ήξερα ότι μπορείς μετά από if χωρίς να βάλεις braces να δηλώσεις και άλλη συνθήκη.
Αλλά γιατί να κάνεις κάτι τέτοιο;;; Βάλε braces και καθάρισες. Για να καταλαβαίνεις και εσύ και οι άλλοι τι έγραψες...

Από τη στιγμή που το σώμα ενός μπλοκ είναι μονάχα ένα αυτόνομο μπλοκ, δεν χρειάζονται άγκιστρα. Και loop μπορείς να φωλιάσεις, και switch και ότι θέλεις, και σε πολλαπλά επίπεδα.

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

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

Δημοσίευσηαπό Star_Light » 14 Μαρ 2012, 23:45

Ilias95 έγραψε:
Όντως! :shock:
Δεν το ήξερα ότι μπορείς μετά από if χωρίς να βάλεις braces να δηλώσεις και άλλη συνθήκη.
Αλλά γιατί να κάνεις κάτι τέτοιο;;; Βάλε braces και καθάρισες. Για να καταλαβαίνεις και εσύ και οι άλλοι τι έγραψες...


Στην ένθεση δεν σε υποχρεώνει το συστημα να βαλεις παρενθέσεις απλα ειναι μια πασιγνωστη τεχνικη
που κανει ευανάγνωστο τον κωδικα και περιποιημενο δεν διαφώνησα ποτε σε αυτο !!!!!! Τελοςπαντων παιδια επαναδιατυπώνω

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

if(i>j)
{
if(i>k)

max=i;
else
max=k;
}
[b]else[/b]
{
if(j>k)
max=j;
else
max=k;
}



Mε αυτο τον τρόπο έχω κάνει την else (με τα μπόλτ ) να ανήκει στην πρωτη if ε?
Και :

Star_Light έγραψε:

Η ροή είναι Αν το i>j δώσει αλήθεια προχωράμε να ερευνήσουμε το i>k αν και αυτο δώσει αληθεια τοτε max = i αλλιως max=k

Αν το 1ο - 1ο if εξαρχης ομως δώσει ψέμα τοτε πάμε απευθειας στον έλεγχο j>k οποτε κατα τα γνωστα έπονται και τα υπολοιπα.

εΠΙΣΗς κατι πολυ σημαντικό η else που εχω αριθμησει με το 2 αριστερα της ανηκει στην 1η if?

p.s Μπορεις να μπερδευτεις για πλάκα ακομη και στα if else
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

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

Δημοσίευσηαπό migf1 » 14 Μαρ 2012, 23:48

Star_Light έγραψε:Moνο σε αυτη τη περιπτωση θα έπρεπε να βάλω παρενθέσεις (οπωσδηποτε)

->

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


if( ...)
if(....)
command;
else
command;


Αν σας κουράζει και δεν βγάζετε νοημα μην το απαντησετε!

Όχι, δεν χρειάζεται "οπωσδήποτε" να βάλεις άγκιστρα. Αν το τελευταίο else αντιστοιχεί στο τελευταίο if, τότε μια χαρά είναι έτσι όπως είναι, χωρίς δηλαδή άγκιστρα.

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

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

Δημοσίευσηαπό migf1 » 14 Μαρ 2012, 23:51

Star_Light έγραψε:if(i>j)
{
if(i>k)

max=i;
else
max=k;
}
else
{
if(j>k)
max=j;
else
max=k;
}

Εγώ προτείνω να το στοιχίσεις έτσι...
Κώδικας: Επιλογή όλων
if(i>j){if(i>k)max=i;else max=k;}[b]else[/b]{if(j>k)max=j;else max=k;}

Είναι πιο ωραίο, πιο... παραπλανητικό... κι ελκύει και περισσότερο κόσμο να το διαβάσει και να σου απαντήσει :p

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

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

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