• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 16, 2025, 23:10:15 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 16, 2025, 23:10:15 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
[Οργάνωση Υπολογιστών] Γε...
by RAFI
[Today at 22:46:54]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[Today at 19:49:00]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[Today at 16:56:56]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[Today at 15:55:08]

[Αρχές Οικονομίας] Να επι...
by _Trob
[Today at 13:28:21]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[Today at 12:13:45]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[Today at 12:01:53]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[Today at 10:22:18]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[Today at 01:56:37]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 15, 2025, 20:08:49 pm]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]

Έναρξη Δηλώσεων Συμμετοχή...
by IEEE SB
[June 14, 2025, 00:10:19 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426677
Total Topics: 31711
Online Today: 226
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 70
Guests: 117
Total: 187
thpanousis
gkarapip
ggalamat
Aftzidou
kgakisb
AlexKyr
LelisNiko
dimitrisblioumis
MomostheGreen
Pastellaki
Farmakis Aggelos
Roidos
gkyrodi
ΦΙδανης Αριστοτελης
ThanosKoutsoump
aggp
iliaspapas
astepoul
rigas_s
pantoulis
3rdDegreeBurn
gorilaki
DimKaratzas
VaiosG
ant2946
tzortzis
Giorgos2222
chrisdardas
Sotiris_atha
vagk
θσερναμε
npalami
grammaths
difis
Panagopf
Nicotre
jimalexoud
DemetriosL
alexter
Emilios
Stelios V.
ΡΙΤΟΣΧΑ
AA RE LEWN
Nikos_313
gpr000
Amalia
Angelagfb
spoun
GeorgeGk
vajulin
mariaxalk
gkougeor
steliosakritidis
theofr
taniakrg
Tsomp
eed
lasef
atampakc
george14
efthmakr
Aristidis Aristidou
gpapailio
ArchieHadCells
Summand
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Πληροφορίες Καθηγητών
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt) > [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
0 Members and 1 Guest are viewing this topic.
Pages: 1 ... 44 45 [46] 47 48 Go Down Print
Author Topic: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα  (Read 72543 times)
duffy
Ανερχόμενος/Ανερχόμενη
**
Gender: Male
Posts: 54


πού πάμε ρε, πού πάμε;;


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #675 on: September 22, 2010, 00:43:14 am »

Οταν πηγα να δω το γραπτο μου μου εδειξε αυτην σαν σωστη απαντηση, αρα για κορτεσιανη λογικη αυτή είναι...
(στο δικο μου compiler βγαζει αλλο)
Logged

"Too bad that all the people who know how to run this country are busy driving taxis and cutting hair."
George Burns
cyb3rb0ss
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3348


0 ΜΗΔΕΝ ZERO NULL CERO


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #676 on: September 22, 2010, 00:51:43 am »

Quote from: duffy on September 22, 2010, 00:43:14 am
Οταν πηγα να δω το γραπτο μου μου εδειξε αυτην σαν σωστη απαντηση, αρα για κορτεσιανη λογικη αυτή είναι...
(στο δικο μου compiler βγαζει αλλο)

Eγώ βασικά ήμουν στην άλλη ομάδα... και είχε ένα παρόμοιο παράδειγμα ας πούμε... και παρόλο που ακολούθησα μια τέτοια λογική κατι μου πηρε λάθος... anyway τετοια ωρα τετοια λόγια...
Logged

Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher. ~Albert Einstein

Never argue with stupid people,
the will drag you down to their level
and then beat you with experience.
~Mark Twain

Απλά 0! Fuck Yeah!

LinkedIn
Yuri
Νεούλης/Νεούλα
*
Posts: 34


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #677 on: September 22, 2010, 00:55:04 am »

Οι τιμες του n-z είναι σωστές (1=>2=>3=>0). Το θέμα είναι η δήλωση p="ABCDE"; και η διαχείριση της από τον εξαιρετικό αυτο αλγόριθμο ανάλογα με τον compiler. Βεβαίως, ισχύει πάντα το αξίωμα: (κορτεσιανός τρόπος σκέψης != κοινή λογική).
Logged
afroditeschild
Καταξιωμένος/Καταξιωμένη
***
Posts: 255



View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #678 on: September 22, 2010, 15:58:55 pm »

θεμα A τα νουμερα στο τελευταιο 1 4     ε?ε?ε?
                                                 6 15
Logged
cyb3rb0ss
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3348


0 ΜΗΔΕΝ ZERO NULL CERO


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/&#
« Reply #679 on: September 22, 2010, 16:01:50 pm »

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

1
3
5
8

Η if(!n) ουσιαστικά ισχύει μόνο στην πρώτη περίπτωση οπου n=0.
Έτσι δίνω και μια τιμή στην m (=0) για να ξεκινήσω το prog. Στη συνέχεια στην switch πήγα στο default αφού δεν ίσχυε κανένα από τα cases... και είχα m=1 απο το m++ αφού το m%5 μού έβγαζε 0.

Μετά για ι=n=1,2,3 έβγαινε κάποιο απο τα cases της switch και πουθενά δεν ίσχυε η if.
Εκεί που ήταν (κ>3) με k=3 απλά εβγαινε false αν κατάλαβα καλά και έπαιρνες =0. Άρα m=(k>3) + 3 => m=3.

Eκεί βέβαια που είχε ενα break παρακάτω στα cases... με μπερδεψε... αλλά το αμέλησα και έκανα return m απλά...

Για αυτό έβγαλα και τις τιμές που έχω παραπάνω...
Για πείτε εσεις... μπορεί να το έχω και όλο λάθος... με κάθε επιφύλαξη...
« Last Edit: September 22, 2010, 16:09:35 pm by cyb3rb0ss » Logged

Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher. ~Albert Einstein

Never argue with stupid people,
the will drag you down to their level
and then beat you with experience.
~Mark Twain

Απλά 0! Fuck Yeah!

LinkedIn
afroditeschild
Καταξιωμένος/Καταξιωμένη
***
Posts: 255



View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #680 on: September 22, 2010, 16:06:50 pm »

ελα καποιος απο την ομαδα α Grin
Logged
afroditeschild
Καταξιωμένος/Καταξιωμένη
***
Posts: 255



View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #681 on: September 22, 2010, 16:08:20 pm »

ρωταω ακομη f(!n)shmainei oti gia na mpei sthn if tha prepei na einai to n-=0?????
Logged
pepe
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 596



View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/&#
« Reply #682 on: September 22, 2010, 16:14:13 pm »

Quote from: cyb3rb0ss on September 22, 2010, 16:01:50 pm
Αν και μυρίζομαι ότι θα έχουμε διάφορες απαντήσεις... και αυτός που θα έχει την λιγότερη κοινή απάντηση θα είναι πάλι σωστός...  Grin Grin Grin , ας πω τι εκτύπωσα εγώ απο την ομάδα Β στο θέμα 3.

1
3
5
8

Η if(!n) ουσιαστικά ισχύει μόνο στην πρώτη περίπτωση οπου n=0.
Έτσι δίνω και μια τιμή στην m (=0) για να ξεκινήσω το prog. Στη συνέχεια στην switch πήγα στο default αφού δεν ίσχυε κανένα από τα cases... και είχα m=1 απο το m++ αφού το m%5 μού έβγαζε 0.

Μετά για ι=n=1,2,3 έβγαινε κάποιο απο τα cases της switch και πουθενά δεν ίσχυε η if.
Εκεί που ήταν (κ>3) με k=3 απλά εβγαινε false αν κατάλαβα καλά και έπαιρνες =0. Άρα m=(k>3) + 3 => m=3.

Eκεί βέβαια που είχε ενα break παρακάτω στα cases... με μπερδεψε... αλλά το αμέλησα και έκανα return m απλά...

Για αυτό έβγαλα και τις τιμές που έχω παραπάνω...
Για πείτε εσεις... μπορεί να το έχω και όλο λάθος... με κάθε επιφύλαξη...
Κι εγώ έτσι το έκανα. Μακάρι να 'ναι αυτό...

Quote from: afroditeschild on September 22, 2010, 16:08:20 pm
ρωταω ακομη f(!n)shmainei oti gia na mpei sthn if tha prepei na einai to n-=0?????
Το (!n) για να είναι true και να μπαίνει πρέπει το n να είναι 0. Σε κάθε άλλη περίπτωση είναι false, οπότε δεν μπαίνει.
Logged

"Τι νόημα έχει τ' όνειρο χωρίς μικρές νοθείες..."
Yuri
Νεούλης/Νεούλα
*
Posts: 34


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #683 on: September 22, 2010, 16:55:27 pm »

Νομίζω ότι το 3 στην ομάδα Β είναι:
1
3
5
10

Εφόσον δεν υπήρχε το break προχωράει στο επόμενο και γίνεται m+=2 => 8+2=10. Μετά επιστρέφει το 10 και το τυπώνει.
Από σημειώσεις στο ethmmy (σελίδα 22): Η εντολή default είναι προαιρετική και θα εκτελεστεί, εάν η τιμή της έκφρασης δεν είναι ίση με καμία από τις σταθερές που περιέχονται στη λίστα της switch. Αν παραληφθεί η εντολή break (η εντολή break θα εξετασθεί στη συνέχεια), θα εκτελεστούν όλες οι ομάδες εντολών που ακολουθούν την περίπτωση της σταθεράς η οποία είναι ίση με την τιμή της έκφρασης έως ότου βρεθεί μία εντολή break ή ο έλεγχος φτάσει στο τέλος της switch.
Logged
pepe
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 596



View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #684 on: September 22, 2010, 17:00:31 pm »

Quote from: Yuri on September 22, 2010, 16:55:27 pm
Νομίζω ότι το 3 στην ομάδα Β είναι:
1
3
5
10

Εφόσον δεν υπήρχε το break προχωράει στο επόμενο και γίνεται m+=2 => 8+2=10. Μετά επιστρέφει το 10 και το τυπώνει.
Από σημειώσεις στο ethmmy (σελίδα 22): Η εντολή default είναι προαιρετική και θα εκτελεστεί, εάν η τιμή της έκφρασης δεν είναι ίση με καμία από τις σταθερές που περιέχονται στη λίστα της switch. Αν παραληφθεί η εντολή break (η εντολή break θα εξετασθεί στη συνέχεια), θα εκτελεστούν όλες οι ομάδες εντολών που ακολουθούν την περίπτωση της σταθεράς η οποία είναι ίση με την τιμή της έκφρασης έως ότου βρεθεί μία εντολή break ή ο έλεγχος φτάσει στο τέλος της switch.
Φτου γμτ και το σκέφτηκα να το συνεχίσω...Ναι, μάλλον όπως λέει ο Yuri θα είναι.
Τον έχω ικανό να κόψει και τις 2 μονάδες...
Logged

"Τι νόημα έχει τ' όνειρο χωρίς μικρές νοθείες..."
cyb3rb0ss
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3348


0 ΜΗΔΕΝ ZERO NULL CERO


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #685 on: September 22, 2010, 17:04:58 pm »

όχι ρε π#$@#η...
Με έβαλε σε υποψίες αυτή η κωλοbreak... αλλά πραγματικά είπα απλά να κάνω το προφανές... για να μην εκπλαγώ δυσάρεστα μετά...

Θέλω να πιστευω οτι ΔΕΝ θα κοπούν και οι 2 μονάδες. Θα είναι τρομερά άδικο. Κανονικά πρέπει να κοπεί το 0,5.
Logged

Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher. ~Albert Einstein

Never argue with stupid people,
the will drag you down to their level
and then beat you with experience.
~Mark Twain

Απλά 0! Fuck Yeah!

LinkedIn
Sage
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 563



View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #686 on: September 22, 2010, 17:14:01 pm »

Quote from: afroditeschild on September 22, 2010, 16:06:50 pm
ελα καποιος απο την ομαδα α Grin
αν σου πω πως και γω τόσο το βρήκα θα με πιστέψεις...??? Cheesy Cheesy Grin Grin Grin Tongue Tongue
Logged

Math gives me every reason to hope that  every problem  has a  solution .

https://www.youtube.com/playlist?list=PLnYpEZe1uPblSaPDVAUgxbmdT214WlRTq
cyb3rb0ss
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3348


0 ΜΗΔΕΝ ZERO NULL CERO


View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #687 on: September 22, 2010, 17:22:21 pm »

Quote from: Yuri on September 22, 2010, 16:55:27 pm
Νομίζω ότι το 3 στην ομάδα Β είναι:
1
3
5
10

Εφόσον δεν υπήρχε το break προχωράει στο επόμενο και γίνεται m+=2 => 8+2=10. Μετά επιστρέφει το 10 και το τυπώνει.
Από σημειώσεις στο ethmmy (σελίδα 22): Η εντολή default είναι προαιρετική και θα εκτελεστεί, εάν η τιμή της έκφρασης δεν είναι ίση με καμία από τις σταθερές που περιέχονται στη λίστα της switch. Αν παραληφθεί η εντολή break (η εντολή break θα εξετασθεί στη συνέχεια), θα εκτελεστούν όλες οι ομάδες εντολών που ακολουθούν την περίπτωση της σταθεράς η οποία είναι ίση με την τιμή της έκφρασης έως ότου βρεθεί μία εντολή break ή ο έλεγχος φτάσει στο τέλος της switch.

Για να είμαι ειλικρινής... διάβασα τώρα τη θεωρία... και πάλι δεν κατάλαβα τίποτα...

Code:
3.2  Η εντολή switch
Η δο¬μή if-else-if σε ο¬ρι¬σμέ¬νες πε¬ρι¬πτώ¬σεις πολ¬λα¬πλών ε¬λέγ¬χων μπο¬ρεί να εί-ναι αρ¬κε¬τά πο¬λύ¬πλο¬κη και δύ¬σχρη¬στη. Γι' αυ¬τούς τους λό¬γους η C δί¬νει μια ε¬ναλ¬λα-κτι¬κή δυ¬να¬τό¬τη¬τα πολ¬λα¬πλών ε¬λέγ¬χων με τη χρή¬ση της εντο¬λής switch. Στην πε¬ρί-πτω¬ση αυ¬τή η τι¬μή μιας έκ¬φρα¬σης συ¬γκρί¬νε¬ται διαδο¬χι¬κά με μί¬α λί¬στα α¬πό στα¬θε¬ρές τύ¬που int ή char. Ε¬άν η τι¬μή αυτή βρε¬θεί ί¬ση με κά¬ποια τι¬μή της λί¬στας, τό¬τε ε¬κτε¬λεί-ται μια συ¬γκε¬κρι¬μένη ο¬μά¬δα ε¬ντο¬λών. Η γε¬νι¬κή μορ¬φή της ε¬ντο¬λής switch εί¬ναι:
switch(έκ¬φρα¬ση) {
    case στα¬θε¬ρά1:
         ο¬μά¬δα ε¬ντο¬λών
         break;
    case στα¬θε¬ρά2:
         ο¬μά¬δα ε¬ντο¬λών
         break;
    .
    .
    .
    default:
         ο¬μά¬δα ε¬ντο¬λών
}

Η ε¬ντο¬λή default εί¬ναι προ¬αι¬ρε¬τι¬κή και θα ε¬κτε¬λε¬στεί, ε¬άν η τι¬μή της έκ¬φρα¬σης δεν εί¬ναι ί¬ση με κα¬μί¬α α¬πό τις στα¬θε¬ρές που πε¬ριέχο¬νται στη λί¬στα της switch. Αν πα¬ρα¬λη¬φθεί η ε¬ντο¬λή break (η ε¬ντο¬λή break θα ε¬ξε¬τα¬σθεί στη συ¬νέ¬χεια), θα ε¬κτε¬λε-στούν ό¬λες οι ο¬μά¬δες ε¬ντο¬λών που ακο¬λου¬θούν την πε¬ρί¬πτω¬ση της στα¬θε¬ράς η ο-ποί¬α εί¬ναι ί¬ση με την τι¬μή της έκφρα¬σης έ¬ως ό¬του βρε¬θεί μί¬α ε¬ντο¬λή break ή ο έ¬λεγ-χος φτά¬σει στο τέ¬λος της switch. Στο πα¬ρά¬δειγ¬μα που α¬κο¬λου¬θεί το πρό¬γραμ¬μα θα ε¬κτυ¬πώ¬σει τα μηνύ¬μα¬τα
case 1 k = 1
case 2 k = 1
αν  k = 1. Το μή¬νυ¬μα
case 2 k = 2
αν k = 2. Το μή¬νυ¬μα
case 3 k = 3
αν k = 3. Και το μή¬νυ¬μα
default k = 4
αν k = 4. 
Πα¬ρά¬δειγ¬μα
void main()
{  int k;
   scanf("%d",&k);
   switch(k) {
       case 1:
           printf("case 1 k = %d\n",k);
       case 2:
           printf("case 2 k = %d\n",k);
           break;
       case 3:
           printf("case 3 k = %d\n",k);
           break;
       default:
           printf("default k = %d\n",k);
   }
}
Logged

Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher. ~Albert Einstein

Never argue with stupid people,
the will drag you down to their level
and then beat you with experience.
~Mark Twain

Απλά 0! Fuck Yeah!

LinkedIn
pepe
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 596



View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/&#
« Reply #688 on: September 22, 2010, 17:29:38 pm »

Quote from: cyb3rb0ss on September 22, 2010, 17:22:21 pm
Για να είμαι ειλικρινής... διάβασα τώρα τη θεωρία... και πάλι δεν κατάλαβα τίποτα...

Code:
3.2  Η εντολή switch
Η δο¬μή if-else-if σε ο¬ρι¬σμέ¬νες πε¬ρι¬πτώ¬σεις πολ¬λα¬πλών ε¬λέγ¬χων μπο¬ρεί να εί-ναι αρ¬κε¬τά πο¬λύ¬πλο¬κη και δύ¬σχρη¬στη. Γι' αυ¬τούς τους λό¬γους η C δί¬νει μια ε¬ναλ¬λα-κτι¬κή δυ¬να¬τό¬τη¬τα πολ¬λα¬πλών ε¬λέγ¬χων με τη χρή¬ση της εντο¬λής switch. Στην πε¬ρί-πτω¬ση αυ¬τή η τι¬μή μιας έκ¬φρα¬σης συ¬γκρί¬νε¬ται διαδο¬χι¬κά με μί¬α λί¬στα α¬πό στα¬θε¬ρές τύ¬που int ή char. Ε¬άν η τι¬μή αυτή βρε¬θεί ί¬ση με κά¬ποια τι¬μή της λί¬στας, τό¬τε ε¬κτε¬λεί-ται μια συ¬γκε¬κρι¬μένη ο¬μά¬δα ε¬ντο¬λών. Η γε¬νι¬κή μορ¬φή της ε¬ντο¬λής switch εί¬ναι:
switch(έκ¬φρα¬ση) {
    case στα¬θε¬ρά1:
         ο¬μά¬δα ε¬ντο¬λών
         break;
    case στα¬θε¬ρά2:
         ο¬μά¬δα ε¬ντο¬λών
         break;
    .
    .
    .
    default:
         ο¬μά¬δα ε¬ντο¬λών
}

Η ε¬ντο¬λή default εί¬ναι προ¬αι¬ρε¬τι¬κή και θα ε¬κτε¬λε¬στεί, ε¬άν η τι¬μή της έκ¬φρα¬σης δεν εί¬ναι ί¬ση με κα¬μί¬α α¬πό τις στα¬θε¬ρές που πε¬ριέχο¬νται στη λί¬στα της switch. Αν πα¬ρα¬λη¬φθεί η ε¬ντο¬λή break (η ε¬ντο¬λή break θα ε¬ξε¬τα¬σθεί στη συ¬νέ¬χεια), θα ε¬κτε¬λε-στούν ό¬λες οι ο¬μά¬δες ε¬ντο¬λών που ακο¬λου¬θούν την πε¬ρί¬πτω¬ση της στα¬θε¬ράς η ο-ποί¬α εί¬ναι ί¬ση με την τι¬μή της έκφρα¬σης έ¬ως ό¬του βρε¬θεί μί¬α ε¬ντο¬λή break ή ο έ¬λεγ-χος φτά¬σει στο τέ¬λος της switch. Στο πα¬ρά¬δειγ¬μα που α¬κο¬λου¬θεί το πρό¬γραμ¬μα θα ε¬κτυ¬πώ¬σει τα μηνύ¬μα¬τα
case 1 k = 1
case 2 k = 1
αν  k = 1. Το μή¬νυ¬μα
case 2 k = 2
αν k = 2. Το μή¬νυ¬μα
case 3 k = 3
αν k = 3. Και το μή¬νυ¬μα
default k = 4
αν k = 4. 
Πα¬ρά¬δειγ¬μα
void main()
{  int k;
   scanf("%d",&k);
   switch(k) {
       case 1:
           printf("case 1 k = %d\n",k);
       case 2:
           printf("case 2 k = %d\n",k);
           break;
       case 3:
           printf("case 3 k = %d\n",k);
           break;
       default:
           printf("default k = %d\n",k);
   }
}
Το k έχει την τιμή 1. Μπαίνει στη switch και συγκεκριμένα στην case 1. Εκτυπώνει case 1 k = 1 όπως ορίζει η case 1 αλλά επειδή δεν έχει break το πρόγραμμα συνεχίζει και πηγαίνει στην επόμενη case. Το k όμως δεν έχει αλλάξει. Οπότε εκτυπώνει case 2 k=1. Μετά έχει break, άρα τερματίζει.
Για τις περιπτώσεις που k=2,3,4 μπαίνει στις αντίστοιχες cases 2,3,default και εκτυπώνει μια φορά το μήνυμα.
Logged

"Τι νόημα έχει τ' όνειρο χωρίς μικρές νοθείες..."
nikitas350
Καταξιωμένος/Καταξιωμένη
***
Posts: 201



View Profile
Re: [Δομημένος Πρ.] Γενικές απορίες και ανακοινώσεις/επικαιρότητα
« Reply #689 on: September 22, 2010, 18:26:57 pm »

1,3,5,10 FTW  Smiley
Logged
Pages: 1 ... 44 45 [46] 47 48 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...