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

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.
August 03, 2025, 10:01:26 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
[Τομέας Ενέργειας] Μαθήμα...
by Nikos_313
[Today at 09:23:51]

Ρύθμιση θερμικού για μοτέ...
by chatzikys
[August 02, 2025, 21:29:19 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[August 02, 2025, 19:59:00 pm]

Αποτελέσματα Εξεταστικής ...
by Ma8hths Indou
[August 02, 2025, 17:30:47 pm]

[Τηλεπικοινωνιακά Συστήμα...
by Thanasis_pap
[August 02, 2025, 17:06:37 pm]

Άδεια ασκήσεως επαγγέλματ...
by The Web
[August 02, 2025, 13:25:49 pm]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[August 02, 2025, 09:51:26 am]

Οι μπράβοι του πρύτανη
by Διάλεξις
[August 02, 2025, 01:30:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[August 02, 2025, 01:04:15 am]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[August 02, 2025, 00:59:05 am]

Ηλεκτρομηχανολογικές Μελέ...
by inverter
[August 01, 2025, 20:35:12 pm]

Νέα Δημοκρατία (and Co. I...
by Katarameno
[August 01, 2025, 15:13:09 pm]

Πρόγραμμα Σπουδών Ακαδημα...
by PolarBear
[August 01, 2025, 15:03:05 pm]

Aναζωπύρωση των εχθροπραξ...
by Katarameno
[July 31, 2025, 21:15:48 pm]

Καμμένα...!!
by Godat
[July 31, 2025, 21:07:58 pm]

[ΑΝΤΙΣΤΑΣΗ] Ανακοίνωση γι...
by Katarameno
[July 31, 2025, 20:31:30 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[July 31, 2025, 15:33:28 pm]

ΤΗΜΜΥ-Σκάκι
by L
[July 31, 2025, 13:24:56 pm]

Τα παράσιτα ανάμεσά μας
by Katarameno
[July 30, 2025, 13:47:28 pm]

Ρώτα κάτι τον επόμενο
by Giopan
[July 29, 2025, 16:04:23 pm]
Στατιστικά
Members
Total Members: 9988
Latest: kyrlef
Stats
Total Posts: 1427648
Total Topics: 31739
Online Today: 125
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 9
Guests: 96
Total: 105
kyrlef
George_RT
mdimitrig
stefanos hios
Anatolim
stefpapa21
geoarg
Εμφάνιση

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

Νέα!
Για ανανέωση (ή προσθήκη νέου) avatar, πρέπει η μεγαλύτερη διάσταση της εικόνας να είναι 110 pixels.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt) > [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)  (Read 1965 times)
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
[Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« on: April 13, 2016, 19:32:57 pm »

Άσκηση 7


Σημείωση για την παράδοση
Στο elearning θα ανεβάσετε σε ένα αρχείο τις απαντήσεις σας
Η ονομασία του αρχείου θα έχει ως εξής:
Α7-Αριθμος Μητρώου π.χ Α7-9000


Γράψτε ένα πρόγραμμα το οποίο διαβάζει χαρακτήρες από την είσοδό του μέχρι o χρήστης να δώσει το χαρακτήρα θαυμαστικό. Στη συνέχεια να τυπώνει ένα ραβδόγραμμα με αστεράκια για κάθε έναν από τους εμφανιζόμενους χαρακτήρες. Επιπλέον για τους χαρακτήρες που εμφανίζονται στην είσοδο του προγράμματος τις μέγιστες και τις ελάχιστες φορές εμφανίζει τον αντίστοιχο χαρακτήρα καθώς και τον αριθμό των φορών που εμφανίστηκε.

Παράδειγμα εξόδου:

a ********

b ****

e ************

z *

Most frequent: e; 12 time(s).

Least frequent: z; 1 time(s).


Λήξη υποβολής εμπρόθεσμων εργασιών: Τρίτη, 19 Απρίλιος 2016, 12:00 πμ

« Last Edit: May 15, 2016, 18:31:39 pm by Apostolof » Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
potirikolonato
Καταξιωμένος/Καταξιωμένη
***
Posts: 278



View Profile
Re: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« Reply #1 on: April 15, 2016, 16:36:12 pm »

Παραθέτω μέρος του προγράμματος που αντιμετωπίζω πρόβλημα.
Code:
int main() {
char letter;
int table[26]={0};
int i,j,v_min,v_max,f_min,f_max;



do {
printf("Give me a letter. If you want to stop give me (!)\n");
scanf ("%c",&letter);
//Μετατροπή κεφαλαίου σε μικρού.
if (letter>= 'A' || letter<= 'Z'){
letter=tolower(letter);

}

/*Το πρόγραμμα μας θέλούμε να κάνει καταμέτρηση μόνο για τα γράμματα απο a εως z για
και να ανεβάζει την τιμή της αντίστοιχης θέσης στον πίνακα. Το letter-97 προκύπτει
γιατί η μεταβλητη letter αν και δηλώνεται ως char στην ουσία είναι ένας int με τίμη
την τίμη ASCII του αντιστοιχου γράμματος.Επίσης a-z αντιστοιχει στους αριθμους 97-122*/
 
if(letter>='a'|| letter<='z'){
table[letter-97]++;

}


}
return 0;
}
Καθως ζητάω γράμματα απο τον χρήστη μου εμφανίζει για κάθε επόμενο γράμμα 2 φορες αυτην την printf("Give me a letter. If you want to stop give me (!)\n");. Ξέρετε τι παίζει;;
Logged
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
Re: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« Reply #2 on: April 15, 2016, 17:05:02 pm »

Η εύκολη λύση είναι να αφήσεις ένα κενό πριν το % μέσα στο scanf, δλδ να κάνεις:
Code:
scanf (" %c",&letter);

Αλλιώς θες να κάνεις flush (καθαρίσεις) το input buffer σου χρησιμοποιώντας το:
Code:
fflush(stdin);
ακριβώς κάτω από το scanf.
Περισσότερα εδώ: http://stackoverflow.com/questions/7898215/how-to-clear-input-buffer-in-c
*όπως θα δεις και στο link το fflush(stdin); δε λειτουργεί πάντα. Πάντως στο κωδικά σου θα λειτουργήσει.
« Last Edit: April 15, 2016, 17:45:59 pm by Apostolof » Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
potirikolonato
Καταξιωμένος/Καταξιωμένη
***
Posts: 278



View Profile
Re: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« Reply #3 on: April 15, 2016, 17:28:54 pm »

Γιατί συμβαίνει αυτό; Θενκς btw
Logged
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
Re: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« Reply #4 on: April 15, 2016, 17:42:58 pm »

Από το link που πόσταρα:
Quote
...when the user presses Enter, it will leave in the input buffer 2 character: Enter key (ASCII code 13) and \n (ASCII code 10). Therefore, at Line 2 (σε εσένα στο line 13 στο scanf), it will read the \n and will not wait for the user to enter a character.

Πχ. γίνετε η πρώτη επανάληψη και δίνεις είσοδο a. Στο input buffer πάνε το a, το "enter key" και το "\n". Εκτελούνται όλες οι άλλες εντολές και ξαναφτάνει το πρόγραμμα στη γραμμή 12 (printf) σου ζητάει είσοδο και στη 13 στο scanf (δεύτερη επανάληψη) περιμένει μια είσοδο. Από τη προηγούμενη επανάληψη θα έχει μείνει μέσα το "\n" το οποίο στο πρόγραμμά σου θα θεωρηθεί είσοδος. Αν εμφανίσεις και όλα τα "\n" στο τέλος θα δεις ότι είναι ίσα με το συνολικό αριθμό γραμμάτων που έδωσες**.

**στον αρχικό κώδικα που πόσταρες, όχι εφόσον βάλεις το fflush(stdin);
« Last Edit: April 15, 2016, 17:47:23 pm by Apostolof » Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
yorgos_78
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 681


Fear, Emptiness, Despair... (Napalm Death, 1994)


View Profile
Re: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« Reply #5 on: April 15, 2016, 17:57:54 pm »

Βασικά έπεσες με τη μία στην περίπτωση. Το πρόβλημα αυτό εμφανίζεται όταν πραγματοποιείς scanf με char (δλδ "%c") μέσα σε κάποιου είδους loop. Χοντρικά, η scanf όταν πάει να διαβάσει characters διαβάζει ο,τι υπάρχει σε ένα free-text buffer. Το new line όμως - σε ο,τι αφορά την scanf - είναι ΚΑΙ αυτό ένας χαρακτήρας! Υποθέτωντας FIFO-buffer λοιπόν, δλδ οτι ο,τι μπει πρώτο θα βγει και πρώτο, η ΕΠΟΜΕΝΗ scanf του loop θα βρει σαν ΠΡΩΤΟ χαρακτήρα μέσα στο buffer το new line του προηγούμενου loop (για το λόγο αυτό το πρόβλημα εμφανίζεται αφότου έχει τρέξει πρώτη φορά το loop. Καλό είναι λοιπόν σε κάθε κύκλο να γίνεται flush το buffer. Εναλλακτικά βάζεις ένα white space - όπως είπε ο φίλος πιο πάνω - πριν το %c για να κάνει consume αυτόν ακριβώς το χαρακτήρα (αν το buffer δεν έχει τίποτα τότε δεν θα υπάρχει και τίποτα για να γίνει consume οπότε κανένα πρόβλημα).
Logged

We were somewhere around Barstow on the edge of the desert, when the drugs began to take hold...
potirikolonato
Καταξιωμένος/Καταξιωμένη
***
Posts: 278



View Profile
Re: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« Reply #6 on: April 15, 2016, 19:01:06 pm »

Ευχαριστώ πολύ παιδιά, πολύ ψιλά γράμματα αλλά σημαντικά!!
Logged
leukosaraphs!
Veteran
Καταστραμμένος
******
Gender: Male
Posts: 9596


εφακ


View Profile
Re: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« Reply #7 on: April 15, 2016, 21:31:34 pm »

Ειχα το ιδιο προβλημα με την εμφανιση της printf κι ετσι απλα εβγαλα την printf εξω απο την do..while

Ωστοσο ,δν μου εμφανιζοταν μονο η printf , αλλα μπροστα απο αυτην 2 φορες το γραμμα που πληκτρολογουσα
Καπως ετσι:

c

cc Type a character or exclamation mark to finish
cc Type a character or exclamation mark to finish

d

dd Type a character or exclamation mark to finish
dd Type a character or exclamation mark to finish

κοκ.
βεβαια μολις εβγαλα την printf απο εξω ολα διορθωθηκαν, αλλα ξερεις κανεις τον λογο που εμφανιζονταν τα 2 γραμματα?
Logged


-What  do you get  when you cross  an insomniac, an agnostic and a dyslexic?
-Someone who stays up all night wondering if there is a Dog.

You can't spell fart without art

Quote from: Xplicit on June 17, 2018, 20:03:39 pm
Συνεχίστηκε η παράδοση που θέλει τους Γερμανούς να φεύγουν ηττημένοι από τη Μόσχα  Grin
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
Re: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« Reply #8 on: April 15, 2016, 23:34:17 pm »

Χωρίς κώδικα δύσκολο.
Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
leukosaraphs!
Veteran
Καταστραμμένος
******
Gender: Male
Posts: 9596


εφακ


View Profile
Re: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« Reply #9 on: April 15, 2016, 23:38:22 pm »

Quote from: Apostolof on April 15, 2016, 23:34:17 pm
Χωρίς κώδικα δύσκολο.

Απλα ολοκληρωσα την ασκηση , κι ετσι δεν μου βρισκεται ευκαιρο   Undecided Undecided
Logged


-What  do you get  when you cross  an insomniac, an agnostic and a dyslexic?
-Someone who stays up all night wondering if there is a Dog.

You can't spell fart without art

Quote from: Xplicit on June 17, 2018, 20:03:39 pm
Συνεχίστηκε η παράδοση που θέλει τους Γερμανούς να φεύγουν ηττημένοι από τη Μόσχα  Grin
potirikolonato
Καταξιωμένος/Καταξιωμένη
***
Posts: 278



View Profile
Re: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« Reply #10 on: April 16, 2016, 01:07:11 am »

Quote from: leukosaraphs! on April 15, 2016, 23:38:22 pm
Απλα ολοκληρωσα την ασκηση , κι ετσι δεν μου βρισκεται ευκαιρο   Undecided Undecided

μπορείς απλά να μπεις στο elearning στην ασκηση 7 που κατεθεσες και να κατεβασεις το αρχειο για να βρεις τον κωδικα  Wink
Logged
leukosaraphs!
Veteran
Καταστραμμένος
******
Gender: Male
Posts: 9596


εφακ


View Profile
Re: [Δομημένος Προγραμματισμός] Άσκηση 7 (Hμ/νία λήξης: 19/4/2016)
« Reply #11 on: April 16, 2016, 12:08:42 pm »

Quote from: Assassin on April 16, 2016, 01:07:11 am

μπορείς απλά να μπεις στο elearning στην ασκηση 7 που κατεθεσες και να κατεβασεις το αρχειο για να βρεις τον κωδικα  Wink

Δικο μου λαθος , εννοουσα οτι επειδη βρηκα πως διορθωνεται , αλλαξα το προγραμμα μου και ετσι δν μπορω να παραθεσω τον ιδιο ακριβως κωδικα ετσι ωστε να σασ βοηθησω (Λογικα ηταν καποια λεπτομερεια , καποιας περιπτωσης)
Logged


-What  do you get  when you cross  an insomniac, an agnostic and a dyslexic?
-Someone who stays up all night wondering if there is a Dog.

You can't spell fart without art

Quote from: Xplicit on June 17, 2018, 20:03:39 pm
Συνεχίστηκε η παράδοση που θέλει τους Γερμανούς να φεύγουν ηττημένοι από τη Μόσχα  Grin
Pages: [1] Go Up Print
Jump to:  

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