Ολυμπιάδα Πληροφορικής

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Δομές στην C (επανάληψη)
Advertisements

Το αλφαριθμητικό (string)
(READ – WRITE) ΚΑΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ (INTEGER,REAL,CHAR)
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
Στρατηγική ανάπτυξης προγράμματος την ώρα του διαγωνισμού
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++
ΜΑΘΗΜΑ 7ο Κυκλικές και Διπλά Συνδεδεμένες Λίστες,
Πινακες (Arrays) Σημασια Συνταξη Αρχικοποιηση Προσβαση Παραμετροι
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
DATA MINING LECTURE 6 Mixture of Gaussians and the EM algorithm
Αναδρομη και static Γραψετε την συναρτηση sequence_size που διαβαζει μια απροσδιοριστου μεγεθους σειρας και υπολογιζει και τυπωνει το μεγεθος της. int.
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜMΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
Τύποι πραγματικών αριθμών
Εντολες Επιλογης (Selection)
MΑΘ 106/3122 Ξ. Ζαμπούλης ΜΑΘ 106/3122 Γλώσσα Προγραμματισμού Αλφαριθμητικά (Strings)
Αλγόριθμοι Ταξινόμησης
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
24/11/2003Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
22/11/2004Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φροντιστήρια Εισηγητής: Σπύρος Αργυρόπουλος Μέλος ΕΤΕΠ Εργαστήριο Προγραμματισμού & Τεχνολογίας Ευφυών Συστημάτων.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Δομές Διακλάδωσης.
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Δομημένος Προγραμματισμός και Δομές.
Αρχές Προγραμματισμού (C). ...γράφοντας σωστά προγράμματα! (IIΙ)
Τελεστές ανάθεσης (assignment)
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
ΜΕΤΑΒΛΗΤΕΣ - ΤΥΠΟΙ ΜΑΘΗΜΑ 3.
1 Ολυμπιάδα Πληροφορικής Μάθημα 3. 2 Στόχοι μαθήματος Δομή Επανάληψης Εντολή while Εντολή for.
ΕΠΑΝΑΛΗΨΗΕΠΑΝΑΛΗΨΗ ΠΡΟΓΡΑΜΜΑΤΑ. ΠΡΟΓΡΑΜΜΑ 1 ΕΞΗΓΗΣΤΕ ΤΙ ΕΞΟΔΟ ΠΑΡΑΓΕΙ ΤΟ ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ #include int main() { char ch; int i; float fl; printf("dose.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Ολυμπιάδα Πληροφορικής
Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Recursion - Αναδρομή.
1 Ολυμπιάδα Πληροφορικής Μάθημα 7. 2 Στόχοι μαθήματος Δημιουργία συναρτήσεων από το χρήστη Δομή προγράμματος με συναρτήσεις Συναρτήσεις και παράμετροι.
Ολυμπιάδα Πληροφορικής
Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Stacks - Στοίβες.
ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ Is-like-a inheritance. Θεματολόγιο Κληρονομικότητα Παράδειγμα Κληρονομικότητα – Βελτιωμένο Παράδειγμα Ενθυλάκωση : public – private -
1 Ολυμπιάδα Πληροφορικής Μάθημα 5. 2 Στόχοι μαθήματος Πίνακες 2 διαστάσεων.
Πάνω προς Κάτω Σχεδιασμός και Συναρτήσεις
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Γράφοι – Graphs (Εισαγωγή)
Είσοδος & Έξοδος στη C++ Ι
Message Passing Interface (MPI) Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων Αθήνα, Δεκέμβριος 2002.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
Δείκτες (Pointers) – Δομές (Structs)
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αρχεία.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Πέρασμα παραμέτρων, συναρτήσεις δόμησης και αποδόμησης.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
2/28/00epl-1311 Παραδειγματα Aλγοριθμων Αριθμος λεξεων που διαβαστηκαν απο εισοδο Εκτυπωση περιφερειας τετραγωνων με * Υπολογισμος exp(x,n) = 1 + x/1!
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
7-1 ΜΑΘΗΜΑ 7 ο Περισσότερα για Κυκλικές και Διπλά Διασυνδεόμενες Λίστες, Συναρτήσεις Βιβλιοθήκης, Διαχείριση Αρχείων.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αλφαριθμητικά (Strings)
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
TEXNΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
Πίνακες στην JAVA ΕΡΓΑΣΤΗΡΙΟ AΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Διαφάνειες: ΧΟΧΟΛΗΣ ΔΙΟΝΥΣΙΟΣ Προσαρμογή 2014: Κώστας Στάμος)
Ενότητα Εισαγωγή Είναι εύκολη στη χρήση και στην εκμάθηση.
for (παράσταση_1; παράσταση_2; παράσταση_3)
Αντικειμενοστραφής Προγραμματισμός
ΣΥΝΑΡΤΗΣΕΙΣ (Functions)
ΑΣΚΗΣΕΙΣ.
Μεταγράφημα παρουσίασης:

Ολυμπιάδα Πληροφορικής Μάθημα 6

Στόχοι μαθήματος Strings σαν πίνακες χαρακτήρων Strings μέσα από την βιβλιοθήκη της C++

Εισαγωγή Στη C δεν υπάρχει ο τύπος String (όπως float, int, char), αλλά αυτός υλοποιείται ως πίνακες χαρακτήρων Μπορούμε να ορίσουμε το String σαν ένα πίνακα από χαρακτήρες που τελειώνει με τον χαρακτήτα NULL ‘\0’ , π.χ. |Hello\0|, |Hi there\0|, |\0| (Προσοχή το \0 δεν φαίνεται στην οθόνη)

Αρχικοποίηση char msg[ ]=“Hello”; Δημιουργεί αυτόματα τον πίνακα Η Ε L \0

Δήλωση String/ Ανάγνωση-Εκτύπωση Η δήλωση γίνεται όπως θα δηλώναμε έναν πίνακα char όνομα[μέγεθος]; π.χ. char onoma[20]; Ανάγνωση scanf(“%s”,onoma); Εκτύπωση printf(“%s”,onoma); Επειδή είναι string Χωρίς το & επειδή είναι πίνακας

Παράδειγμα 1 Να δημιουργήσετε το πρόγραμμα που δέχεται το όνομα και το επίθετο και τα τυπώνει στην οθόνη το ένα δίπλα στο άλλο αφήνοντας ένα κενό μεταξύ τους.

Παράδειγμα 1

Παράδειγμα 2 Να δημιουργήσετε το πρόγραμμα διαβάζει 10 ονόματα από το αρχείο par1.in και τα τυπώνει στην οθόνη του υπολογιστή.

Παράδειγμα 2 #include<iostream> #include<stdio.h> using namespace std; int main(){ char onoma[20]; int i; FILE *fin; fin=fopen("par2.in","r"); for(i=0;i<10;i++){ fscanf(fin,"%s",onoma); printf("%s\n",onoma); } fclose(fin); system("PAUSE"); return 0;

Παράδειγμα 3 Να δημιουργήσετε το πρόγραμμα που δέχεται μια λέξη με 4 χαρακτήρες και μετατοπίζει τους χαρακτήρες κατά ένα δεξιά π.χ. abcd  dabc

Παράδειγμα 3 #include<iostream> #include<stdio.h> using namespace std; int main(){ char onoma[4],temp; int i; scanf("%s",onoma); temp=onoma[3]; for(i=2;i>=0;i--) onoma[i+1]=onoma[i]; onoma[0]=temp; printf("%s\n",onoma); system("PAUSE"); return 0; }

Συναρτήσεις Οι συναρτήσεις για τα strings βρίσκονται στο αρχείο string.h strlen(s),υπολογίζει το μήκος του string strcpy(s1,s2),αντιγράφει το s2 στο s1 strcat(s1,s2),προσθέτει το s2 στο s1. strcmp(s1,s2),συγκρίνει το s1 με s2 και επιστρέφει θετική τιμή εάν s1 μεγαλύτερο(αλφαβητικά) από το s2, μηδέν αν είναι ίσα, και αρνητική τιμή εάν s1 μικρότερο από s2.

Παράδειγμα 4 - Συναρτήσεις #include<stdio.h> #include<iostream> #include<string.h> using namespace std; int main(){ char s1[100],s2[100]; printf("Dose ena string\n"); scanf("%s",s1); printf("Size=%d\n",strlen(s1)); printf("Dose akoma ena string\n"); scanf("%s",s2); if(strcmp(s1,s2)==0) printf("Ta 2 string einai ta idia\n"); else printf("Ta 2 string den einai ta idia\n"); strcat(s1,s2); printf("Enosi tou s1 me to S2 =%s\n",s1); strcpy(s1,s2); printf("Antgrafi tou S2 sto S1. S1=%s\n",s1); system("PAUSE"); return 0; }

Παράδειγμα 5 Να δημιουργήσετε το πρόγραμμα που διαβάζει τους χαρακτήρες από το αρχείο par5.in και τυπώνει το πλήθος τους στο αρχείο par5.out

Παράδειγμα 5 #include<stdio.h> #include<string.h> using namespace std; int main(){ FILE *fin,*fout; int i=0; char c; fin=fopen("par5.in","r"); fout=fopen("par5.out","w"); while(feof(fin)==0){ fscanf(fin,"%c",&c); i++; } fprintf(fout,"%d\n",i-1); fclose(fin); fclose(fout); return 0;

Παράδειγμα 6 Να δημιουργήσετε το πρόγραμμα που διαβάζει τις λέξεις από το αρχείο par6.in και τυπώνει το πλήθος τους στο αρχείο par6.out

Παράδειγμα 6 #include<stdio.h> #include<string.h> using namespace std; int main(){ FILE *fin,*fout; int i=0; char c[100]; fin=fopen("par6.in","r"); fout=fopen("par6.out","w"); while(feof(fin)==0){ fscanf(fin,"%s",c); i++; } fprintf(fout,"%d\n",i); fclose(fin); fclose(fout); return 0;

Παράδειγμα 7 Να δημιουργήσετε το πρόγραμμα που διαβάζει 10 ονόματα από το αρχείο par7.in και τυπώνει το όνομα με τους περισσότερους χαρακτήρες στο αρχείο par7.out.

Παράδειγμα 7 #include<stdio.h> #include<string.h> using namespace std; int main(){ char onoma[10][30]; //10 onomata me megisto mege8os 30 char maxOnoma[30]; int i,max=-1,s; FILE *fin,*fout; fin=fopen("par7.in","r"); fout=fopen("par7.out","w"); for(i=0;i<10;i++){ fscanf(fin,"%s",onoma[i]); s=strlen(onoma[i]); if(s>max){ max=strlen(onoma[i]); strcpy(maxOnoma,onoma[i]); } fprintf(fout,"%s",maxOnoma); fclose(fin); fclose(fout); return 0;

Strings στη C++ Στη C++ υπάρχει η βιβλιοθήκη <string> που αναφέρεται στο αντικείμενο και όχι στον τύπο δεδομένων, string. Μας δίνει τη δυνατότητα να χρησιμοποιήσουμε πολλές έτοιμες συναρτήσεις που υπάρχουν στη βιβλιοθήκη ΔΕΝ μπορείτε να χρησιμοποιήσετε τις scanf και printf Εξακολουθεί όμως να προσπελαστεί σαν πίνακας

Δήλωση String string όνομα μεταβλητής; #include <iostream> #include <string> using namespace std; int main () { string onoma; cin>>onoma; cout << "To onoma pou edwses einai " << onoma <<"\n"; system("PAUSE"); return 0; } string όνομα μεταβλητής;

Συνάρτηση size // string::size #include <iostream> #include <string> using namespace std; int main () { string str="Test string"; cout << "The size of str is " << str.size() << " characters.\n"; system("PAUSE"); return 0; }

Περισσότερες συναρτήσεις στη σελίδα http://www. cplusplus Περισσότερες συναρτήσεις στη σελίδα http://www.cplusplus.com/reference/string/string/