Zaraki
Δραστήριο μέλος


Το ειπα οτι βγαινει μικροτερο με ASCII, το πιθανοτερο ομως ειναι να μην γνωριζει τι ειναι και πως δουλευει, οποτε ας ξεκινησουμε απο τα απλαούτε καν μεγάλο if, αυτό που έστειλα μετατρέπει μία βαθμολογία που είναι με μικρά γράμματα σε κεφαλαία.Θα ήταν πιο ωραίο αν βάλεις την σύγκριση ch>='Z' ως ώστε να μετέτρεπε τον οποιοδήποτε μικρό χαρακτήρα σε κεφαλαίο, αλλά για αυτό που της ζητάει η άσκηση κάνει δουλειά.

Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
infinity
Εκκολαπτόμενο μέλος



Το ειπα οτι βγαινει μικροτερο με ASCII, το πιθανοτερο ομως ειναι να μην γνωριζει τι ειναι και πως δουλευει, οποτε ας ξεκινησουμε απο τα απλα![]()
ο πίνακας ascii δεν είναι κάτι δύσκολο, αυτό που μας δίνει στην ουσία είναι ένα mapping μεταξύ των χαρακτήρων και αριθμητικών τιμών..
@evi**** https://www.asciitable.com/ μπορείς να το χρησιμοποιείς στις εργασίες σου άφοβα

Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
SonnY
Εκκολαπτόμενο μέλος


1) το Programming in C του Kochan ειναι καλό για πρώτο βιβλίο?
2) Είναι προτιμότερο ν αρχίσω σε Linux ή σε Windows??
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
infinity
Εκκολαπτόμενο μέλος


παιδιά εγώ θέλω να αρχίζω τη C. Έχω μερικές απορίες:
1) το Programming in C του Kochan ειναι καλό για πρώτο βιβλίο?
2) Είναι προτιμότερο ν αρχίσω σε Linux ή σε Windows??
1) θα σου πρότεινα το "the c programming languagge" αλλά για πρώτο είναι κάπως δύσκολο, ένας έλληνας έχει γράψει ένα ωραίο "η γλώσσα c σε βάθος" και αντίστοιχα έχει γράψει και για την c++.
2) linux .. να μάθεις σιγά σιγά πως γίνεται το κανονικό compiling και γενικότερα να εξικοιωθείς με το σύστημα και το κέλυφος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Γιώργος
Τιμώμενο Μέλος


Θα σου δώσω ένα hint, που είναι πολύ χρήσιμο όταν προγραμματίζεις: να κοιτάς τις βιβλιοθήκες. Είναι πολύ σημαντικό και για σένα, αλλά και για την μετέπειτα συντήρηση του κώδικά σου, να χρησιμοποιείς έτοιμες βιβλιοθήκες και να μην εφευρίσκεις τον τροχό, κάθε φορά.αν για παραδειγμα οι επιτρεπτοι βαθμοι ειναι Α Β C F το προγραμμα θα πρεπει να το δεχεται ειτε ετσι ειτε ως a b c f...δηλαδη ο χρηστης μπορει να δωσει ειτε μικρα ειτε κεφαλαια και να γινουν δεκτα και τα 2
Εν προκειμένω, η ctype.h έχει κάτι ωραίες συναρτήσεις που θα σε βοηθήσουν.
παιδιά εγώ θέλω να αρχίζω τη C. Έχω μερικές απορίες:
1) το Programming in C του Kochan ειναι καλό για πρώτο βιβλίο?
2) Είναι προτιμότερο ν αρχίσω σε Linux ή σε Windows??
- Η "βίβλος" της C είναι το The C Programming Language, των K&R. Είναι μικρό, συνοπτικό, clear to the point. Θα έλεγα ότι είναι χρήσιμο να έχεις κάποια πρότερη εξοικείωση με τον προγραμματισμό, αλλά και πληκτρολόγιο δίπλα σου για να το ακολουθήσεις. Με άλλα λόγια, αυτό δεν είναι να το διαβάσεις σαν λογοτεχνικό, αλλά θέλει να βλέπεις το παράδειγμα και να το πληκτρολογήσεις. Αλλά με αυτό θα μάθεις καλή C.
- Το άλλο βιβλίο που ακούστηκε, "Η γλώσσα C σε βάθος", έχει πάρει το μάτι μου ότι είναι ένα πιο χαλαρό βιβλίο, που σε πάει βήμα-βήμα. Αν δεν έχεις ιδέα από προγραμματισμό, ίσως βοήθαγε. Στο τέλος, έχει και μια εισαγωγή στην C++. Αλλά προτείνω το 1ο βιβλίο, γιατί δεν φλυαρεί.
- Περιβάλλον: linux. Δεν χρειάζεται να εγκαταστήσεις τίποτα, έχεις τον gcc (compiler) από τη μάνα του. Και με έναν καλό text editor (vim), είσαι έτοιμος σε ένα λεπτό να ξεκινάς να προγραμματίζεις.
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
challenger
Επιφανές μέλος


Η "βίβλος" της C είναι το The C Programming Language, των K&R.
Ο Dennis Ritchie(πρόσφατα κλείσαμε ένα χρόνο από το θάνατο του) ήταν ο θεμελιωτής της C και ο συγγραφέας της παραπάνω "βίβλου"!
Το βιβλίο στο συστήνω ανεπιφύλακτα! στα ελληνικά κυκλοφορεί από τις εκδόσεις κλειδάριθμος!
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος


- Η "βίβλος" της C είναι το The C Programming Language, των K&R. Είναι μικρό, συνοπτικό, clear to the point. Θα έλεγα ότι είναι χρήσιμο να έχεις κάποια πρότερη εξοικείωση με τον προγραμματισμό, αλλά και πληκτρολόγιο δίπλα σου για να το ακολουθήσεις. Με άλλα λόγια, αυτό δεν είναι να το διαβάσεις σαν λογοτεχνικό, αλλά θέλει να βλέπεις το παράδειγμα και να το πληκτρολογήσεις. Αλλά με αυτό θα μάθεις καλή C.
- Το άλλο βιβλίο που ακούστηκε, "Η γλώσσα C σε βάθος", έχει πάρει το μάτι μου ότι είναι ένα πιο χαλαρό βιβλίο, που σε πάει βήμα-βήμα. Αν δεν έχεις ιδέα από προγραμματισμό, ίσως βοήθαγε. Στο τέλος, έχει και μια εισαγωγή στην C++. Αλλά προτείνω το 1ο βιβλίο, γιατί δεν φλυαρεί.
- Περιβάλλον: linux. Δεν χρειάζεται να εγκαταστήσεις τίποτα, έχεις τον gcc (compiler) από τη μάνα του. Και με έναν καλό text editor (vim), είσαι έτοιμος σε ένα λεπτό να ξεκινάς να προγραμματίζεις.
ναι το βρήκες, με KR και vim κάνεις την τέλεια εισαγωγή στη C
η δική μου πρόταση είναι: https://www.c4all.gr/ + ό,τι guide βρεις στο internet
με linux αν δεν έχεις γενικά επαφή καν δεν ξέρω αν αξίζει να ασχοληθείς μόνο και μόνο για τον προγραμματισμό ( αλλά σίγουρα για C ειδικα είναι καλύτερο ). πάντως και σε windows δουλεύεις αν θες.
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
infinity
Εκκολαπτόμενο μέλος


Ο Dennis Ritchie(πρόσφατα κλείσαμε ένα χρόνο από το θάνατο του) ήταν ο θεμελιωτής της C και ο συγγραφέας της παραπάνω "βίβλου"!
Το βιβλίο στο συστήνω ανεπιφύλακτα! στα ελληνικά κυκλοφορεί από τις εκδόσεις κλειδάριθμος!
εγώ επιμένω πως για πρώτο βιβλίο είναι δύσκολο..
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
miro2
Δραστήριο μέλος


εγώ επιμένω πως για πρώτο βιβλίο είναι δύσκολο..
έχεις δίκιο, όντως είναι δύσκολο για πρώτο...(ξεκίνησα μ αυτό κ το μετανιώνω εν μέρη)
Καλύτερα να ξεκινήσει κάποιος με το "Οδηγός της C".
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
εμμα_τριντεντ
Πολύ δραστήριο μέλος



Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.


Κατασκευάστε ψευδοκώδικα και πρόγραμμα σε C που να τυπώνει επαναληπτικά όλες τις ημέρες ενός ημερολογιακού έτους στην εξής μορφή “Thursday 01 November 2012”. Το πρόγραμμα θα πρέπει αρχικά να ζητάει από τον χρήστη να εισάγει το ημερολογιακό έτος. Στον μήνα Φεβρουάριο θα πρέπει να ερωτάται ο χρήστης για το αν ο μήνας έχει 28 ή 29 ημέρες (εναλλακτικά μπορείτε να κάνετε αυτόματα τον υπολογισμό με βάση το έτος). Η κάθε ημέρα πρέπει να τυπώνεται σε ξεχωριστή γραμμή. Πριν ξεκινήσει η εκτύπωση των ημερών ενός μήνα πρέπει να τυπώνεται το όνομα του μήνα σε ξεχωριστή γραμμή. Η γραμμή αυτή πρέπει να διαχωρίζεται με μια κενή γραμμή από την προηγούμενη και από την επόμενη γραμμή. Επίσης, πριν ξεκινήσει η εκτύπωση των ημερών μιας εβδομάδας ενός μήνα πρέπει να τυπώνεται ένα μήνυμα (σε ξεχωριστή γραμμή) όπως “Week 1 of November”. Αφού τυπωθεί το όνομα του μήνα, το πρόγραμμα πρέπει να ρωτάει τον χρήστη αν θέλει να συνεχιστεί η εκτύπωση. Σε περίπτωση που η απάντηση είναι αρνητική το πρόγραμμα πρέπει να τερματίζει.
ευχαριστώ εκ των προτέρων...

Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
infinity
Εκκολαπτόμενο μέλος


παιδιά καλησπέρα...χρειάζομαι τη πολύτιμη βοήθεια σας.μας έχει βάλει ο καθηγητής την παρακάτω άσκηση και δεν μπορώ να την κάνω.την παιδεύω μια βδομάδα και πρέπει να τη παραδώσω μέχρι αύριο το βράδυ....άμα μπορούσε κάποιος να βοηθήσει θα ήμουν ευγνώμον..!
Κατασκευάστε ψευδοκώδικα και πρόγραμμα σε C που να τυπώνει επαναληπτικά όλες τις ημέρες ενός ημερολογιακού έτους στην εξής μορφή “Thursday 01 November 2012”. Το πρόγραμμα θα πρέπει αρχικά να ζητάει από τον χρήστη να εισάγει το ημερολογιακό έτος. Στον μήνα Φεβρουάριο θα πρέπει να ερωτάται ο χρήστης για το αν ο μήνας έχει 28 ή 29 ημέρες (εναλλακτικά μπορείτε να κάνετε αυτόματα τον υπολογισμό με βάση το έτος). Η κάθε ημέρα πρέπει να τυπώνεται σε ξεχωριστή γραμμή. Πριν ξεκινήσει η εκτύπωση των ημερών ενός μήνα πρέπει να τυπώνεται το όνομα του μήνα σε ξεχωριστή γραμμή. Η γραμμή αυτή πρέπει να διαχωρίζεται με μια κενή γραμμή από την προηγούμενη και από την επόμενη γραμμή. Επίσης, πριν ξεκινήσει η εκτύπωση των ημερών μιας εβδομάδας ενός μήνα πρέπει να τυπώνεται ένα μήνυμα (σε ξεχωριστή γραμμή) όπως “Week 1 of November”. Αφού τυπωθεί το όνομα του μήνα, το πρόγραμμα πρέπει να ρωτάει τον χρήστη αν θέλει να συνεχιστεί η εκτύπωση. Σε περίπτωση που η απάντηση είναι αρνητική το πρόγραμμα πρέπει να τερματίζει.
ευχαριστώ εκ των προτέρων...![]()
το πρόβλημα μου μοιάζει με αυτό:
https://projecteuler.net/problem=19
θα τα εξηγήσω λίγο βιαστικά επειδή δεν έχω πολύ χρόνο, ελπίζω να είσαι εξικοιωμένος/η με την C/C++
αρχικά ας έχουμε κάποιους πίνακες για να μπορούμε να παίρνουμε στοιχεία απο εκεί
string days[7]={"MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"};
string month[12]={"JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"};
και ας έχουμε και μία boolean συνάρτηση που να μας λέει αν το έτος κ είναι δίσεκτο
{
if(year%100==0 && year%400==0)
return true;
else if(year%4==0 && year%100)
return true;
else return false;
}
καθώς και μία συνάρτηση που να της περνάμε σαν όρισμα array index και να μας πετάει μέρα
{
return days[day];
}
}
και μία για μήνα αντίστοιχα:
{
return months[mymonth];
}
έχουμε τελείωσει με τις συναρτήσεις που θα χρειαστεί να φτιάξουμε ας μπούμε στο κυρίως πρόγραμμα:
{
int year;
cin >> year;
...................
return 0;
}
αρχίζουμε να μετράμε από τις 1 Ιανουαρίου 1900, η οποία ήταν Δευτέρα, μπορείς να αρχίσεις να μετράς απ' όπου θες, αλλά εγώ αυτό θυμάμαι καθαρά, οπότε απο εκεί ξεκινάω, μπορείς να μεταβάλεις τον κώδικα μετά ούτως ώστε να ανταπεξέρχεται στις ανάγκες της εργασίας:
έχουμε έναν μετρητή έστω tick, ο οποίος αρχικά είναι 1900 και το έτος μας που είναι 1900 (i=1900) .Κρατάμε μία boolean μεταβλητή με τιμή δίσεκτο-> i , δηλαδή, η μεταβλητή μας είναι 0 αν το έτος μας δεν είναι δίσεκτο και 1 διαφορετικά:
for(int i=N; i<=year; i++) {
int mod=0,theyear=0;
mod= ( leap( i ) );
theyear=(i==year);
...................
}
τώρα αρχίζουμε νέο έτος, αν το έτος μας είναι το έτος που μας ενδιαφέρει, το theyear γίνεται true,μετά αρχίζοντας από τον μηδενικό μήνα κρατάμε έναν μετρητή ο οποίος συνεχώς αυξάνει μέχρι να γίνει ίσο με months[j] οπού j -> το index του μήνα που είμαστε τώρα.
Ας έχουμε και έναν μετρητή που να μετράει τις βδομάδες μας
cout << tomonth(j) << endl;
int weekcnt=0;
for(int k=0; k<months[j]; k++) {
int day = tick mod 7 // το index της μέρας που μας ενδιαφέρει
if(day==0) {
weekcnt++;
cout << "starting week " << weekcnt << " of " << tomonth(j) << endl;
}
if( theyear ) {
cout << today(day) << " " << k+1 << " " << tomonth( k ) << endl; // το cout τυπώνει πράγματα στην κονσόλα
}
}
}
καταλαβαίνεις προφανώς ότι το indexing στην c++ ξεκινάει από το 0, γι' αυτό προσθαφαιρώ 1 κάποιες φορές.
Τα loops με μετρητές i,j,k είναι εμφωλιασμένα προφανώς, μην χάσεις την άσκηση από τέτοια λάθη

Επειδή τον κώδικα τον έγραφα επι τόπου ενδεχομένως να έχει λάθη, αλλα η λογική είναι αυτή. Εσύ μπορείς να προσθέσεις την όλη αλληλεπίδραση με τον χρήστη και τα λοιπά.
Μπορείς επίσης να δοκιμάσεις την ορθότητα του αλγορίθμου σου στο project euler.
Καλή επιτυχία.
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.




Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
infinity
Εκκολαπτόμενο μέλος


ευχαριστώ πάρα πολύ infinity.βέβαια δεν έχουμε μάθει ακόμα συναρτήσεις αλλά θα δω πως μπορώ να το κάνω.
![]()
ε, καλά απλώς βάλε της συναρτήσεις μέσα στον βασικό κορμό του προγράμματος


btw καλώς ήρθες στο ischool

Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.






Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Συνημμένα
Γιώργος
Τιμώμενο Μέλος


Μονοδιάστατος πίνακας, έτσι; Λοιπόν, βασικό tip για την άσκηση: η δομή σου είναι ΜΟΝΟ-διάσταση, αλλά το παιχνίδι είναι ΔΙ-διάστατο. Δεν επιτρέπεται μεν να χρησιμοποιήσεις άλλο πίνακα, δεκτό, αλλά κανείς δεν σου απαγορεύει να φτιάξεις ένα... mapping.σας παρακαλω θα ηθελα να με βοηθησετε να λυσω αυτη την ασκηση διοτι πρεπει να την παραδωσω μεχρι την πεμπτη.στο παρακατω αρχειο βρισκεται η εκφωνηση
(ο πίνακας είναι μονοδιάστατος)
Με λίγα λόγια, ορίζεις μία συνάρτηση:
- int loc( int x , int y ), η οποία παίρνει τις διαστάσεις (x,y) και επιστρέφει ένα μόνο index, για τον μονοδιάστατο πίνακα.
- Μπορεί να χρειαστεί να φτιάξεις και μία αντίστροφη, η οποία να παίρνει το μονοδιάστατο i και να επιστρέφει δύο διαστάσεις.
Διάβασε αυτό που έγραψα ξανά και ξανά αν δεν το κατάλαβες με την πρώτη.
Εάν θέλεις διευκρινήσεις, ρωτάς. Η υλοποίηση της loc, αφήνεται σε εσένα.
Επίσης, μπορείς να μας παραθέσεις τον μέχρι τώρα κώδικά σου (με καλή στοίχηση) και/ή να μας πεις ακριβώς πού προβληματίζεσαι, σε ποια σημεία. Έτοιμο κώδικα μην περιμένεις - από εμένα τουλάχιστον - γιατί το βρίσκω αντιεκπαιδευτικό. Μόνη σου θα γράψεις την άσκηση, εν τέλει, αλλά αν θελήσεις βοήθεια ρωτάς.

-----
PS: προσοχή, κατά την υλοποίηση της loc, να μην βγεις out of bounds.
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος


hint: σε ενδιαφέρει να ξέρεις τη διαφορά πχ του 54 από το 50 ή το 60 ανάλογα. θα χρειαστείς mod
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.






Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Γιώργος
Τιμώμενο Μέλος


Ωραία, πες μας πρώτα τι δεν κατάλαβες απ' αυτά που εξηγήσαμε και δείξε τι προσπάθεια έχεις κάνει και πού έχεις κολλήσει. Συγκεκριμένα, δηλαδή, πού είναι το πρόβλημά σου.Παιδιά είμαι 1 ετής κ ακόμα δεν την καταλαβαίνω...την έχω προσπαθήσει πολύ αλλα τπτ
![]()

Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.



#include<stdio.h>
int main() {
const int x=20;
int am[4],i;
char etos[4],e;
float mo[4],j;
for(i=0; i<=4; i++) {
do {
printf("dwse ton arithmo mhtrwou tou foithth");
scanf("%d",&am[i]);}
while(am[i]>600);
do {
printf("dwse to meso oro vathmologias tou foithth");
scanf("%f", &mo[i]);}
while(mo[i]<=5 && mo[i]>=10);
do {
printf("dwse to etos spoudwn tou foithth");
scanf("%c",&etos[i]);}
while(etos[i]!='A' && etos[i]!='B' && etos[i]!='C' && etos[i]!='D' && etos[i]!='E');
}
printf("dwse ena etos");
scanf("%c",e);
for(i=0; i<=4; i++) {
mo[i]=j;
if(etos[i]==e) {
while(etos[i]!='\0') {
i++;
if(etos[i]==e) {
printf("%d",am[i]);}
if(mo[i]>j) {
printf("%f",mo[i]); } } } }
getch();
return 0;}
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Χρήστες Βρείτε παρόμοια
-
Τα παρακάτω 0 μέλη και 19 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:Tα παρακάτω 9 μέλη διάβασαν αυτό το θέμα:
-
Φορτώνει...
-
Το forum μας χρησιμοποιεί cookies για να βελτιστοποιήσει την εμπειρία σας.
Συνεχίζοντας την περιήγησή σας, συναινείτε στη χρήση cookies στον περιηγητή σας.