Εχουμε ήδη συναντήσει μονοδιάστατους πίνακες, οι οποίοι ορίζονται ως εξής:



Σχετικά έγγραφα
ΠΙΝΑΚΕΣ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΠΕΡΙΣΣΟΤΕΡΑ ΠΑΡΑΔΕΙΓΜΑΤΑ ΜΕ ΧΡΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. ΠΑΡ 1 ΔΙΑΒΑΣΜΑ-ΕΚΤΥΠΩΣΗ ΕΥΡΕΣΗ ΜΕΣΟΥ ΟΡΟΥ ΜΟΝΟΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ ΜΕ ΧΡΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ #include <stdio.

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό

Ασκηή σεις 12ο Μαά θημα - Λυύ σεις

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 8 Ασκήσεις Πινάκων Ταξινόμηση Αναζήτηση. Γιώργος Λαμπρινίδης

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

242 -ΕισαγωγήστουςΗ/Υ

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

Αʹ. Πίνακες. Άσκηση 1. Λύση. Άσκηση 2. Λύση. Ασκήσεις Εργαστηρίου Προγραμματισμού

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Προγραμματισμός Ι. Ενότητα 8 : Πίνακες IΙ. Αλέξανδρος Τζάλλας

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΒΑΣΙΚΕΣ ΕΠΕΞΕΡΓΑΣΙΕΣ ΜΟΝΟΔΙΑΣΤΑΤΩΝ ΚΑΙ ΔΙΣΔΙΑΣΤΑΤΩΝ ΠΙΝΑΚΩΝ ΟΙ ΠΙΟ ΣΗΜΑΝΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ

Διαδικασιακός Προγραμματισμός

Η γλώσσα προγραμματισμού C

Ηλεκτρονικοί Υπολογιστές

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Δομημένος Προγραμματισμός (ΤΛ1006)

3 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΠΙΝΑΚΕΣ

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση

Εργαστηριακή Άσκηση 1

Προγραμματισμός Η/Υ (ΤΛ2007 )

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

Η γλώσσα προγραμματισμού C

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

Προγραμματισμός Η/Υ. Ενότητα 8: Ειδικά Θέματα Αλγορίθμων

Η γλώσσα προγραμματισμού C

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

Αλγόριθμοι Αναζήτησης. (AeppAcademy.com)

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

Διάλεξη 04: Παραδείγματα Ανάλυσης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

Η γλώσσα προγραμματισμού C

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 4η Διάλεξη Πίνακες Συναρτήσεις

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής.

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

Η γλώσσα προγραμματισμού C

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ

Δομές Δεδομένων. Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο. Φυσικό Επίπεδο RAM. Ταξινομημένος.

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Εργαστήριο 2: Πίνακες

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Δομές Δεδομένων & Αλγόριθμοι

Προγραμματιστικές Τεχνικές

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Πληροφορική 2. Αλγόριθμοι

Προγραμματισμός Ι (ΗΥ120)

Η γλώσσα προγραμματισμού C

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 5

i : 0<=i<N-1 => data[i] <= data[i+1] 25/10/2009

Μεθόδων Επίλυσης Προβλημάτων

Υπολογισμός - Εντολές Επανάληψης

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

Περιεχόμενα. Πρόλογος... 17

ΣΥΝΑΡΤΗΣΕΙΣ (Functions)

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 6 Εντολές Επανάληψης Ασκήσεις. Γιώργος Λαμπρινίδης

Αναδρομή Ανάλυση Αλγορίθμων

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ

Μεθόδων Επίλυσης Προβλημάτων

Εισαγωγή στον δομημένο προγραμματισμό

ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ

Η γλώσσα προγραμματισμού C

Εισαγωγή στον Προγραμματισμό (με. τη C)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στον Προγραμματισμό Python Μάθημα 3: πίνακες και βρόγχος επανάληψης for (για) Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ. Πίνακες και βασικές επεξεργασίες αυτών

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Μεθόδων Επίλυσης Προβλημάτων

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

Δομές Δεδομένων & Αλγόριθμοι

Κεφάλαιο 8.6. Πίνακες ΙI (Διάλεξη 17)

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Συναρτήσεις. Εισαγωγή

Πίνακες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

17. Εισαγωγή σε αριθμητικές μεθόδους για μηχανικούς και αλγορίθμους

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

Transcript:

ΠΙΝΑΚΕΣ ΣΤΗΝ ΓΛΩΣΣΑ C Ενας πίνακας είναι ένα σύνολο μεταβλητών του ίδιου τύπου. Το κάθε στοιχείο του πίνακα αναγνωρίζεται από ένα ακέραιο δείκτη (index). Στη C ο δείκτης θέσης αρχίζει από το μηδέν (0) και γράφεται πάντα μέσα σε τετράγωνες αγκύλες ( [ και ] ) Εχουμε ήδη συναντήσει μονοδιάστατους πίνακες, οι οποίοι ορίζονται ως εξής: int results[20]; Οι πίνακες μπορούν να έχουν περισσότερες από μια διαστάσεις, οπότε ορίζονται ως: int results_2d[20][5]; int results_3d[20][5][3]; Κάθε δείκτης έχει τις δικές του τετράγωνες αγκύλες. Οταν ένας πίνακας ορίζεται στη main συνήθως συμπεριλαμβάνει πληροφορίες για τις διαστάσεις του. Είναι δυνατόν να χρησιμοποιηθεί ένας άλλος τύπος που λέγεται pointer (δείκτης - όχι index). Αυτό σημαίνει ότι οι διαστάσεις δεν καθορίζονται αμέσως, αλλά μπορεί να δεσμευτεί χώρος όταν χρειαστεί. Είναι μια προχωρημένη τεχνική που χρησιμοποιείται μόνο σε ορισμένα εξειδικευμένα προγράμματα. Οταν περνά σε μία συνάρτηση ως παράμετρος, η συνάρτηση αυτή δεν χρειάζεται να γνωρίζει το μέγεθος του πίνακα. Για παράδειγμα αν έχουμε μία συνάρτηση που ταξινομεί μια λίστα (η οποία αναπαριστάται από ένα πίνακα) τότε η συνάρτηση μπορεί να ταξινομεί λίστες διαφόρων μεγεθών. Το μειονέκτημα είναι ότι η συνάρτηση δεν μπορεί να αντιληφθεί το μέγεθος της λίστας, οπότε αυτή η πληροφορία πρέπει να περαστεί ως πρόσθετη παράμετρος. ΠΑΡΑΔΕΙΓΜΑΤΑ ΜΕ ΠΙΝΑΚΕΣ ΠΑΡ 1 ΠΡΟΓΡΑΜΜΑ ΔΙΑΒΑΣΜΑΤΟΣ-ΕΚΤΥΠΩΣΗΣ ΚΑΙ ΕΥΡΕΣΗΣ ΤΟΥ ΜΕΣΟΥ ΟΡΟΥ ΣΤΟΙΧΕΙΩΝ ΜΟΝΟΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ N ΑΚΕΡΑΙΩΝ Σχόλιο:Οποιαδήποτε λειτουργία σε μονοδιάστατο πίνακα απαιτεί τη χρήση της εντολής for #define N 5; //Δηλώνουμε τη σταθερά Ν με τιμή 5 int sum=0,i,x[n];//το μέγεθος ενός πίνακα είναι πάντα σταθερό. float av; //Το i δείχνει πάντα τη θέση του πίνακα ενώ το x[i] δείχνει το στοιχείο του πίνακα στη θέση i. Τα στοιχεία ενός πίνακα αριθμούνται πάντα από το 0 //και συμβολίζονται x[0], x[1], x[2], x[3] και x[4].

for (i=0;i<=n-1;i++)//to for αυτό υλοποιεί το διάβασμα του πίνακα for (i=0;i<=n-1;i++)// εύρεση αθροίσματος των στοιχείων του πίνακα sum+=x[i]; //το ίδιο ακριβώς με το sum=sum+x[i]; av=(float)sum/n; //Εύρεση μέσου όρου του πίνακα. // Το sum μετατρέπεται προσωρινά σε float για να υπολογίσουμε δεκαδικό μέσο όρο //Ο μέσος όρος υπολογίζεται μόνο 1 φορά και γιαυτό τοποθετείται εκτός της επανάληψης. printf("\no mesos oros tou pinaka = %.2f \n",av); ΠΑΡ2 ΠΡΟΓΡΑΜΜΑ ΔΙΑΒΑΣΜΑΤΟΣ-ΕΚΤΥΠΩΣΗΣ ΚΑΙ ΤΑΞΙΝΟΜΗΣΗΣ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΜΟΝΟΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ Ν ΑΚΕΡΑΙΩΝ ΣΕ ΑΥΞΟΥΣΑ ΣΕΙΡΑ ΣΥΜΦΩΝΑ ΜΕ ΤΗ ΜΕΘΟΔΟ ΤΗΣ ΦΥΣΑΛΙΔΑΣ #define N 5 ; //Δηλώνουμε τη σταθερά Ν με τιμή 5 int k, temp, i, x[n];//το μέγεθος ενός πίνακα είναι πάντα σταθερό. for (i=0;i<=n-1;i++)//to for αυτό υλοποιεί το διάβασμα του πίνακα

//Tα 2 for υλοποιoύν την ταξινόμηση φυσαλίδας for (k=1;k<=n-1;k++) //Το k είναι ο μετρητής των περασμάτων του πίνακα. for (i=0;i<n-k;i++) //Το for δίνει τις συγκρίσεις Ν-k που γίνονται σε κάθε πέρασμα. if (x[i]>x[i+1]) //Στο if αυτό γίνεται η εναλλαγή των στοιχείων. temp=x[i]; x[i]=x[i+1]; x[i+1]=temp; printf("\ntaxinomimenos Pinakas\n"); ΠΑΡ3 ΠΡΟΓΡΑΜΜΑ ΕΥΡΕΣΗΣ ΤΟΥ ΜΕΓΑΛΥΤΕΡΟΥ ΚΑΙ ΤΟΥ ΜΙΚΡΟΤΕΡΟΥ ΣΤΟΙΧΕΙΟΥ ΕΝΟΣ ΜΟΝΟΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ Ν ΑΚΕΡΑΙΩΝ ΚΑΘΩΣ ΚΑΙ ΤΩΝ ΘΕΣΕΩΝ ΤΟΥΣ ΣΤΟΝ ΠΙΝΑΚΑ #define N 5 ; //Δηλώνουμε τη σταθερά Ν με τιμή 5 int max, maxp, min, minp,ι,x[n]; for (i=0;i<=n-1;i++)//to for αυτό υλοποιεί το διάβασμα του πίνακα max=min=x[0];//υποθέτω ότι το μέγιστο και το ελάχιστο στοιχείο του πίνακα είναι το 1ο maxp=minp=0;//υποθέω ότι η θέση του max και του min είναι η πρώτη δηλαδή το 0 for (i=0;i<=n-1;i++)//to for αυτό υλοποιεί την εύρεση του μέγιστου και του ελάχιστου

if (x[i]>max) //To if αυτό βρίσκει το μέγιστο στοιχείο και τη θέση του στον πίνακα max=x[i]; maxp=i; if (x[i]<min) //To if αυτό βρίσκει το ελάχιστο στοιχείο και τη θέση του στον πίνακα min=x[i]; minp=i; printf("megisto stoixeio pinaka = %d sti thesi %d \n",max,maxp); printf("elaxisto stoixeio pinaka = %d sti thesi %d \n",min,minp); ΠΑΡ4 ΠΡΟΓΡΑΜΜΑ ΣΕΙΡΙΑΚΗΣ ΑΝΑΖΗΤΗΣΗΣ ΣΤΟΙΧΕΙΟΥ ΣΕ ΜΟΝΟΔΙΑΣΤΑΤΟ ΠΙΝΑΚΑ Ν ΑΚΕΡΑΙΩΝ ΚΑΙ ΕΚΤΥΠΩΣΗΣ ΟΛΩΝ ΤΩΝ ΘΕΣΕΩΝ ΤΟΥ ΣΤΟΝ ΠΙΝΑΚΑ ΚΑΘΩΣ ΚΑΙ ΤΟΥ ΠΛΗΘΟΥΣ ΤΩΝ ΕΜΦΑΝΙΣΕΩΝ ΤΟΥ ΣΤΟΝ ΠΙΝΑΚΑ #define N 5 ; //Δηλώνουμε τη σταθερά Ν με τιμή 5 int m=0, s, i, x[n]; for (i=0;i<=n-1;i++)//to for αυτό υλοποιεί το διάβασμα του πίνακα printf("dose to stoixeio anazitisis\n"); scanf("%d",&s); //Διαβάζουμε το στοιχείο αναζήτησης στη μεταβλητή s for (i=0;i<=n-1;i++)//to for αυτό υλοποιεί τη σειριακή αναζήτηση στον πίνακα if (x[i]==s)

printf("to stoixeio brethike sti thesi %d\n",i);//τυπώνεται η κάθε θέση που //το στοιχείο βρέθηκε στον πίνακα m++;//αυξάνεται ο μετρητής των εμφανίσεων του στοιχείου στον πίνακα if (m==0) printf("to stoixeio %d den brethike ston pinaka\n",s); else printf("to stoixeio %d brethike synolika %d fores ston pinaka\n",s,m); ΠΑΡ5 ΠΡΟΓΡΑΜΜΑ ΔΥΑΔΙΚΗΣ ΑΝΑΖΗΤΗΣΗΣ ΣΤΟΙΧΕΙΟΥ ΣΕ ΜΟΝΟΔΙΑΣΤΑΤΟ ΠΙΝΑΚΑ Ν ΑΚΕΡΑΙΩΝ #define N 5; //Δηλώνουμε τη σταθερά Ν με τιμή 5 int k,temp,left,right,meso,found,s,i,x[n]; for (i=0;i<n;i++)//to for αυτό υλοποιεί το διάβασμα του πίνακα δ γραμμής printf("\n");//αλλαγή //Tα 2 for υλοποιoύν την ταξινόμηση φυσαλίδας for (k=1;k<=n-1;k++) //Το k είναι ο μετρητής των περασμάτων του πίνακα. for (i=0;i<n-k;i++) //Το for αυτό δίνει τις συγκρίσεις που γίνονται σε κάθε πέρασμα. if (x[i]>x[i+1]) //Στο if αυτό γίνεται η εναλλαγή των στοιχείων. temp=x[i]; x[i]=x[i+1]; x[i+1]=temp; printf("\ntaxinomimenos Pinakas\n");

printf("\ndose to stoixeio anazitisis\n"); scanf("%d",&s); //Διαβάζουμε το στοιχείο αναζήτησης στη μεταβλητή s left=0;//η μεταβλητή left δείχνει το κάτω όριο του πίνακα right=n-1;//η μεταβλητή right δείχνει το επάνω όριο του πίνακα found=0;//υποθέτουμε αρχικά ότι το αναζητούμενο στοιχείο δεν υπάρχει στον πίνακα while (left<=right && found==0)// όσο δεν έχουμε ελέγχει όλα τα στοιχεία και το s δεν έχει ακόμα βρεθεί στον πίνακα επανέλαβε meso=(left+right)/2;//στο meso καταχωρείται η θέση του μεσαίου στοιχείου if (x[meso]==s)//αν το αναζητούμενο s είναι στο μεσαίο στοιχείο του πίνακα printf("to stoixeio %d brethike sth thesi %d tou pinaka\n",s,meso); found=1;//θέτουμε στη found την τιμή 1 για να σταματήσει η επανάληψη else if (x[meso]<s)//αν το αναζητούμενο s είναι μεγαλύτερο από το μεσαίο στοιχείο του πίνακα τότε η αναζήτηση //περιορίζεται στο επάνω μισό του πίνακα left=meso+1; else//αν το αναζητούμενο s είναι μικρότερο από το μεσαίο στοιχείο του πίνακα τότε η αναζήτηση //περιορίζεται στο κάτω μισό του πίνακα right=meso-1; if (found==0) printf("to stoixeio %d den brethike ston pinaka\n",s);