Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Σχετικά έγγραφα
Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι Εργαστήριο 5ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι Εργαστήριο 8ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 8 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 3ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι Εργαστήριο 8ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 8 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 4ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσμία: Τετάρτη 23/11/2016, 21:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

lab7: Συμβολοσειρές Συμβολοσειρές Ασφάλεια εισόδου Αναγνωσιμότητα κώδικα (σχόλια, στοίχιση, περιγραφικά ονόματα μεταβλητών, κτλ.)

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

lab6grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: Όλα οκ.

ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ - ΜΕΡΟΣ Γ'

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: Τρίτη 4/11/2014, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 5/12/10, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 25/11/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Πέµπτη 17/12/2015, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 13/1/13, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: Τρίτη 10/11/2015, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσμία: Τετάρτη 9/11/2016, 21:00

abistarakis PASS - Σωστή κατασκευή tgz και ονοµασία αρχείων

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 22/12/2016, 21:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/10, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 22/12/10, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 27/11/11, 22:00

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 3/12/2018, 23:59

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Τετάρτη 7/12/2016, 21:00

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Προθεσµία: 10/12/2014, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 6/11/11, 22:00

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

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

Αλγόριθμοι Ταξινόμησης Μέρος 1

lab2grades - Στη scanf υπολογίζετε τουλάχιστον 5 χαρακτήρες %5.2f προδιαγραφές που ζητούνται στην εκφώνηση. -

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 10/11/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 25/11/13, 22:00

Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1. Εργαστήριο 6. Εαρινό Εξάμηνο

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

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

Δεν έστειλες την άσκηση 1, και αυτό που έστειλες ήταν σκέτο αρχείο, όχι το tgz που ζητούσε η εκφώνηση.

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου Θέµα 1. (α') 2 - ii 3 - iii 4 - iv

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

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

k 1 j 1 A[k] i A[...]... A[...]... k A4.

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

Δείκτες & Πίνακες Δείκτες, Πίνακες

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

lab1: Εισαγωγή σε Linux

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

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

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

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

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

Sheet2 Α.Μ FAIL. οριακό PASS. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h

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

Εργαστήριο 3 Εντολή for while, do while

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Εξετάσεις Προσομοίωσης 24/04/2019

Sheet PASS 1426 PASS 1428 PASS. Page 1

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

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

Η άσκηση μπορεί να γίνει με συνεργασία το πολύ δυο φοιτητών, οι οποίοι θα λάβουν τον ίδιο βαθμό στην εργασία.

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Β' Περιόδου Θέµα 1. (α')

Βαθμός Σχόλια. lab6 PASS PASS. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο. Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

ΑΕΜ ή username. Sheet2

lab9grades Άσκηση 1 - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της series_cosh.

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

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

- Σωστή χρήση του προσδιοριστή const για την σταθερά pi. Καλό θα ήταν επιλέξετε κεφαλαία γράµµατα για το όνοµα της σταθεράς.

LAB1 ΛΥΣΗ. Ευρετήριο απαντήσεων ανά τµήµα: Ευρετήριο απαντήσεων ανά µήνυµα λάθους/προειδοποίησης

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

Transcript:

ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Στόχοι Φορµαρισµένη είσοδος και έξοδος Αριθµητική χαρακτήρων Δοµές ελέγχου Δοµές επανάληψης Πίνακες Πριν ξεκινήσετε Πηγαίνετε στο φάκελο ce120 και κατασκευάστε µέσα σε αυτόν ένα φάκελο µε όνοµα lab6. Μέσα σε αυτό το φάκελο θα αποθηκεύσετε τις απαντήσεις σας για το σηµερινό εργαστήριο.

Άσκηση 1 Το πρόγραµµα που θα γράψετε για την άσκηση 1 πρέπει να το αποθηκεύσετε σε αρχείο µε όνοµα lab6a.c µέσα στο φάκελο lab6. Προσοχή! Διαβάστε όλη την εκφώνηση της άσκησης πριν αρχίσετε να γράφετε κώδικα! Γράψτε ένα πρόγραµµα το οποίο δηµιουργεί ένα πίνακα χαρακτήρων µεγέθους N και γεµίζει τον πίνακα µε χαρακτήρες από κεφαλαία γράµµατα του αγγλικού αλφαβήτου. Αφού ολοκληρώσει την κατασκευή του πίνακα αντιµεταθέτει τα στοιχεία του, ώστε το 1ο να αντιµετατεθεί µε το τελευταίο, το 2ο µε το προ-τελευταίο κ.ο.κ. Αναλυτικά το πρόγραµµα σας θα πρέπει να κάνει τα εξής: 1. Δηµιουργεί ένα πίνακα χαρακτήρων µεγέθους Ν, όπου το Ν ορίζεται ως σταθερά στην αρχή του προγράµµατος σας. Το Ν µπορεί να λαµβάνει άρτιες και περιττές τιµές. 2. Γεµίζει τον πίνακα µε τυχαίους χαρακτήρες που ανήκουν στο σύνολο των κεφαλαίων γραµµάτων του αγγλικού αλφαβήτου (ABCDEFGHIJKLMNOPQRSTVUWXYZ, σύνολο 26 χαρακτήρες). Παρακάτω δίνεται αναλυτικά ο τρόπος δηµιουργίας τυχαίων αριθµών που θα χρειαστείτε για την δηµιουργία των χαρακτήρων του αγγλικού αλφαβήτου. 3. Εκτυπώνει τον πίνακα που δηµιουργήθηκε στην οθόνη αφήνοντας ένα κενό µεταξύ των στοιχείων του και εκτυπώνοντας έναν χαρακτήρα αλλαγής γραµµής στο τέλος ως εξής: Original Array: X X X X X X X X X X X X όπου Χ οι τυχαίες τιµές των στοιχείων του πίνακα. 4. Αντιµεταθέτει τα στοιχεία του πίνακα ως εξής: Το 1ο στοιχείο λαµβάνει την τιµή του τελευταίου στοιχείου και το τελευταίο την τιµή του 1ου. Το 2ο στοιχείο λαµβάνει την τιµή του προ-τελευταίου στοιχείου και το προ-τελευταίο την τιµή του 2ου. Η παραπάνω διαδικασία ακολουθείται για όλα τα στοιχεία του πίνακα. 5. Εκτυπώνει τον πίνακα µετά την αντιµετάθεση των στοιχείων του ακολουθούµενο από ένα χαρακτήρα αλλαγής γραµµής στο τέλος ως εξής: Inverted Array: X X X X X X X X X X X X ΠΡΟΣΟΧΗ: Απαγορεύεται αυστηρά η χρήση βοηθητικού πίνακα για τη µεταφορά των στοιχείων. Σηµείωση: Το πρόγραµµα σας θα πρέπει να δουλεύει τόσο για Ν άρτιο αριθµό, όσο και για Ν περιττό. Αρχεία άσκησης 1 προς παράδοση: lab6a.c

Δείτε τα παρακάτω παραδείγµατα εκτέλεσης του προγράµµατος για πίνακα µεγέθους 14 και 15 στοιχείων. Δηµιουργία τυχαίων αριθµών από 0 έως Ν-1 Για την δηµιουργία τυχαίων αριθµών χρησιµοποιείστε τις συναρτήσεις srand() και rand(). Η srand() καλείται µία φορά για την αρχικοποίηση της γεννήτριας τυχαίων αριθµών και η rand() καλείται κάθε φορά που θέλουµε να δηµιουργήσουµε ένα τυχαίο αριθµό. Η rand() επιστρέφει τυχαίους αριθµούς µεταξύ 0 και RAND_MAX, όπου RAND_MAX ένας πολύ µεγάλος φυσικός αριθµός η τιµή του οποίου εξαρτάται από την υλοποίηση της εκάστοτε βιβλιοθήκης. Παρακάτω δίνεται ένα παράδειγµα κώδικα που γεµίζει ένα πίνακα ακεραίων µεγέθους 2 στοιχείων µε τυχαίες τιµές από 0 έως 999. #include <stdio.h> #include <stdlib.h> #include <time.h> #define MAX_NUMBER 1000 int main(int argc, char *argv[]) { int random_numbers[2]; srand (time(null)); random_numbers[0] = rand() % MAX_NUMBER; random_numbers[1] = rand() % MAX_NUMBER; return 0; }

Άσκηση 2 (προαιρετική) Για τη δεύτερη άσκηση χρησιµοποιήστε το έτοιµο αρχείο lab6b.c που σας δίνεται. Το πρόγραµµα που περιέχεται στο αρχείο lab6b.c περιέχει λογικά λάθη. Mετά τη αποσφαλµάτωση του µε χρήση του debugger gdb, θα πρέπει να υλοποιεί την ταξινόµηση ενός πίνακα µεγέθους Ν χαρακτήρων µε χρήση του αλγορίθµου ταξινόµισης φυσαλίδας (bubble sort). Ο αλγόριθµος φυσαλίδας περιγράφεται παρακάτω. Διαπερνούµε τον πίνακα από το τέλος προς την αρχή Ν-1 φορές. Σε κάθε διαπέραση συγκρίνουµε διαδοχικά τα γειτονικά στοιχεία του πίνακα και αντιµεταθέτουµε εκείνα που βρίσκονται εκτός διατάξεως. Κατά την πρώτη διαπέραση ταξινοµείται το µικρότερο στοιχείο, κατά την 2η διαπέραση το αµέσως µικρότερο στοιχείο κ.ο.κ. Στο τέλος της Ν-1 διαπέρασης έχουν διαταχθεί και τα Ν στοιχεία του πίνακα. Παρακάτω δίνεται ένα παράδειγµα εκτέλεσης του αλγορίθµου για ένα πίνακα 5 στοιχείων. Με κίτρινο χρώµα δίνεται η σύγκριση που γίνεται σε κάθε βήµα της διαπέρασης και στην αµέσως επόµενη γραµµή µπορείτε να δείτε αν τα στοιχεία που συγκρίθηκαν αντιµετατέθηκαν ή όχι. Στο τέλος κάθε διαπέρασης µε πράσινο χρώµα σηµειώνονται τα στοιχεία που έχουν διαταχθεί στην τελική τους θέση. Παρατηρήστε ότι στο τέλος της 4ης διαπέρασης έχουν διαταχθεί και τα 5 στοιχεία του πίνακα. X T S C K C X T S K X T S C Κ C X T K S X T C S K C X K T S X C T S K C K X T S C X T S K 1η διαπέραση 2η διαπέραση C K X T S C K S X T C K Χ S T C K S T X C K S X T 3η διαπέραση 4η διαπέραση Δείτε το παρακάτω παράδειγµα εκτέλεσης του προγράµµατος Αρχεία άσκησης 2 προς παράδοση: το διορθωµένο lab6b.c

Αποστολή του προγράµµατος για διόρθωση και σχολιασµό Για να στείλετε το πρόγραµµά σας για βαθµολόγηση, ανοίξτε ένα τερµατικό (ή χρησιµοποιήστε αυτό του Kate), πηγαίνετε στο φάκελο lab6, και χρησιµοποιήστε την εντολή mkdir για να κατασκευάσετε ένα νέο φάκελο µέσα στο lab6 µε βάση τα ονόµατα των δύο µελών της οµάδας. Για την ακρίβεια, το όνοµα του φακέλου πρέπει να είναι (µε λατινικούς χαρακτήρες) : επώνυµο1_am1_επώνυµο2_αμ2, όπου ΑΜ είναι ο τετραψήφιος αριθµός µητρώου σας. Για παράδειγµα, mkdir doufexi_1234_antonopoulos_5678 Αντιγράψτε τα lab6α.c και lab6b.c µέσα στο νέο φάκελο, όπως παρακάτω: cp -v lab6?.c doufexi_1234_antonopoulos_5678/ Τέλος πακετάρετε και συµπιέστε το φάκελο µε το πρόγραµµά σας. Η εντολή είναι: tar cvzf επώνυµο1_αμ1_επώνυµο2_αμ2.tgz επώνυµο1_αμ1_επώνυµο2_αμ2 Θα πρέπει να δηµιουργηθεί το αρχείο µε όνοµα επώνυµο1_αμ1_επώνυµο2_αμ2.tgz. Αν εµφανιστεί κάποιο µήνυµα λάθους ή δε δηµιουργηθεί το αρχείο, ζητήστε βοήθεια! Στη συνέχεια στείλτε ένα email: στη διεύθυνση: ce120lab@gmail.com µε τίτλο (subject): CE120 lab6 sectionx όπου X είναι ο αριθµός του τµήµατος, πχ section6 για µια οµάδα του τµήµατος 6. CC στο άλλο µέλος της οµάδας σας και στον εαυτό σας συνηµµένο (attached) το αρχείο: επώνυµο1_αμ1_επώνυµο2_αμ2.tgz µέσα στο email γράψτε τα ονόµατα των δύο µελών της οµάδας. Αφού στείλετε το email, επιβεβαιώστε ότι είχε σωστό attachment κι ότι έλαβε αντίγραφο και το άλλο µέλος της οµάδας. Το άλλο µέλος της οµάδας µπορεί να ξεπακετάρει το tgz αρχείο στο δικό του υπολογιστή µε την εντολή tar xvzf επώνυµο1_αμ1_επώνυµο2_αμ2.tgz ΜΗΝ ΞΕΧΑΣΕΤΕ ΝΑ ΚΑΝΕΤΕ LOGOUT ΠΡΙΝ ΦΥΓΕΤΕ!!