Βοήθεια στην Γλώσσα C

Zaraki

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

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

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

infinity

Εκκολαπτόμενο μέλος

Ο Παναγιώτης αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 190 μηνύματα.
@demlogic so hardcore :P

Το ειπα οτι βγαινει μικροτερο με ASCII, το πιθανοτερο ομως ειναι να μην γνωριζει τι ειναι και πως δουλευει, οποτε ας ξεκινησουμε απο τα απλα:P

ο πίνακας ascii δεν είναι κάτι δύσκολο, αυτό που μας δίνει στην ουσία είναι ένα mapping μεταξύ των χαρακτήρων και αριθμητικών τιμών..

@evi**** https://www.asciitable.com/ μπορείς να το χρησιμοποιείς στις εργασίες σου άφοβα :P
 

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

Επεξεργάστηκε από συντονιστή:

SonnY

Εκκολαπτόμενο μέλος

Ο SonnY αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής. Έχει γράψει 273 μηνύματα.
παιδιά εγώ θέλω να αρχίζω τη C. Έχω μερικές απορίες:
1) το Programming in C του Kochan ειναι καλό για πρώτο βιβλίο?
2) Είναι προτιμότερο ν αρχίσω σε Linux ή σε Windows??
 

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

infinity

Εκκολαπτόμενο μέλος

Ο Παναγιώτης αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 190 μηνύματα.
παιδιά εγώ θέλω να αρχίζω τη C. Έχω μερικές απορίες:
1) το Programming in C του Kochan ειναι καλό για πρώτο βιβλίο?
2) Είναι προτιμότερο ν αρχίσω σε Linux ή σε Windows??

1) θα σου πρότεινα το "the c programming languagge" αλλά για πρώτο είναι κάπως δύσκολο, ένας έλληνας έχει γράψει ένα ωραίο "η γλώσσα c σε βάθος" και αντίστοιχα έχει γράψει και για την c++.
2) linux .. να μάθεις σιγά σιγά πως γίνεται το κανονικό compiling και γενικότερα να εξικοιωθείς με το σύστημα και το κέλυφος
 

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

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
αν για παραδειγμα οι επιτρεπτοι βαθμοι ειναι Α Β C F το προγραμμα θα πρεπει να το δεχεται ειτε ετσι ειτε ως a b c f...δηλαδη ο χρηστης μπορει να δωσει ειτε μικρα ειτε κεφαλαια και να γινουν δεκτα και τα 2
Θα σου δώσω ένα hint, που είναι πολύ χρήσιμο όταν προγραμματίζεις: να κοιτάς τις βιβλιοθήκες. Είναι πολύ σημαντικό και για σένα, αλλά και για την μετέπειτα συντήρηση του κώδικά σου, να χρησιμοποιείς έτοιμες βιβλιοθήκες και να μην εφευρίσκεις τον τροχό, κάθε φορά.

Εν προκειμένω, η ctype.h έχει κάτι ωραίες συναρτήσεις που θα σε βοηθήσουν.

παιδιά εγώ θέλω να αρχίζω τη C. Έχω μερικές απορίες:
1) το Programming in C του Kochan ειναι καλό για πρώτο βιβλίο?
2) Είναι προτιμότερο ν αρχίσω σε Linux ή σε Windows??

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

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

Επεξεργάστηκε από συντονιστή:

challenger

Επιφανές μέλος

Ο challenger αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής. Έχει γράψει 11,414 μηνύματα.
Η "βίβλος" της C είναι το The C Programming Language, των K&R.

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

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

vassilis498

Διακεκριμένο μέλος

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

ναι το βρήκες, με KR και vim κάνεις την τέλεια εισαγωγή στη C


η δική μου πρόταση είναι: https://www.c4all.gr/ + ό,τι guide βρεις στο internet

με linux αν δεν έχεις γενικά επαφή καν δεν ξέρω αν αξίζει να ασχοληθείς μόνο και μόνο για τον προγραμματισμό ( αλλά σίγουρα για C ειδικα είναι καλύτερο ). πάντως και σε windows δουλεύεις αν θες.
 

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

infinity

Εκκολαπτόμενο μέλος

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

εγώ επιμένω πως για πρώτο βιβλίο είναι δύσκολο..
 

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

miro2

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

Η miro2 αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 32 ετών και Φοιτήτρια. Έχει γράψει 619 μηνύματα.
εγώ επιμένω πως για πρώτο βιβλίο είναι δύσκολο..

έχεις δίκιο, όντως είναι δύσκολο για πρώτο...(ξεκίνησα μ αυτό κ το μετανιώνω εν μέρη)
Καλύτερα να ξεκινήσει κάποιος με το "Οδηγός της C".
 

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

εμμα_τριντεντ

Πολύ δραστήριο μέλος

Η εμμα_τριντεντ αυτή τη στιγμή δεν είναι συνδεδεμένη. Έχει γράψει 1,327 μηνύματα.
καλύτερα να μη ξεκινήσει κάποιος καθόλου :P
 

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

bessy_94

Νεοφερμένος

Η bessy_94 αυτή τη στιγμή δεν είναι συνδεδεμένη. Έχει γράψει 13 μηνύματα.
παιδιά καλησπέρα...χρειάζομαι τη πολύτιμη βοήθεια σας.μας έχει βάλει ο καθηγητής την παρακάτω άσκηση και δεν μπορώ να την κάνω.την παιδεύω μια βδομάδα και πρέπει να τη παραδώσω μέχρι αύριο το βράδυ....άμα μπορούσε κάποιος να βοηθήσει θα ήμουν ευγνώμον..!

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

ευχαριστώ εκ των προτέρων...:)
 

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

infinity

Εκκολαπτόμενο μέλος

Ο Παναγιώτης αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 190 μηνύματα.
παιδιά καλησπέρα...χρειάζομαι τη πολύτιμη βοήθεια σας.μας έχει βάλει ο καθηγητής την παρακάτω άσκηση και δεν μπορώ να την κάνω.την παιδεύω μια βδομάδα και πρέπει να τη παραδώσω μέχρι αύριο το βράδυ....άμα μπορούσε κάποιος να βοηθήσει θα ήμουν ευγνώμον..!

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

ευχαριστώ εκ των προτέρων...:)

το πρόβλημα μου μοιάζει με αυτό:

https://projecteuler.net/problem=19

θα τα εξηγήσω λίγο βιαστικά επειδή δεν έχω πολύ χρόνο, ελπίζω να είσαι εξικοιωμένος/η με την C/C++

αρχικά ας έχουμε κάποιους πίνακες για να μπορούμε να παίρνουμε στοιχεία απο εκεί

int months[2][12]={ {31,28,31,30,31,30,31,31,30,31,30,31} , { 31,29,31,30,31,30,31,31,30,31,30,31} } ;
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 συνάρτηση που να μας λέει αν το έτος κ είναι δίσεκτο

int leap(int year)
{
if(year%100==0 && year%400==0)
return true;
else if(year%4==0 && year%100)
return true;
else return false;
}

καθώς και μία συνάρτηση που να της περνάμε σαν όρισμα array index και να μας πετάει μέρα

string today(int day)
{
return days[day];
}

}

και μία για μήνα αντίστοιχα:

string tomonth(int mymonth)
{
return months[mymonth];
}

έχουμε τελείωσει με τις συναρτήσεις που θα χρειαστεί να φτιάξουμε ας μπούμε στο κυρίως πρόγραμμα:

int main(void)
{
int year;
cin >> year;
...................
return 0;
}

αρχίζουμε να μετράμε από τις 1 Ιανουαρίου 1900, η οποία ήταν Δευτέρα, μπορείς να αρχίσεις να μετράς απ' όπου θες, αλλά εγώ αυτό θυμάμαι καθαρά, οπότε απο εκεί ξεκινάω, μπορείς να μεταβάλεις τον κώδικα μετά ούτως ώστε να ανταπεξέρχεται στις ανάγκες της εργασίας:

έχουμε έναν μετρητή έστω tick, ο οποίος αρχικά είναι 1900 και το έτος μας που είναι 1900 (i=1900) .Κρατάμε μία boolean μεταβλητή με τιμή δίσεκτο-> i , δηλαδή, η μεταβλητή μας είναι 0 αν το έτος μας δεν είναι δίσεκτο και 1 διαφορετικά:

int tick=0;
for(int i=N; i<=year; i++) {
int mod=0,theyear=0;
mod= ( leap( i ) );
theyear=(i==year);
...................
}

τώρα αρχίζουμε νέο έτος, αν το έτος μας είναι το έτος που μας ενδιαφέρει, το theyear γίνεται true,μετά αρχίζοντας από τον μηδενικό μήνα κρατάμε έναν μετρητή ο οποίος συνεχώς αυξάνει μέχρι να γίνει ίσο με months[j] οπού j -> το index του μήνα που είμαστε τώρα.

Ας έχουμε και έναν μετρητή που να μετράει τις βδομάδες μας

for(int j=0; j<12; j++) {
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 είναι εμφωλιασμένα προφανώς, μην χάσεις την άσκηση από τέτοια λάθη :P
Επειδή τον κώδικα τον έγραφα επι τόπου ενδεχομένως να έχει λάθη, αλλα η λογική είναι αυτή. Εσύ μπορείς να προσθέσεις την όλη αλληλεπίδραση με τον χρήστη και τα λοιπά.
Μπορείς επίσης να δοκιμάσεις την ορθότητα του αλγορίθμου σου στο project euler.

Καλή επιτυχία.
 

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

Τελευταία επεξεργασία:

bessy_94

Νεοφερμένος

Η bessy_94 αυτή τη στιγμή δεν είναι συνδεδεμένη. Έχει γράψει 13 μηνύματα.
ευχαριστώ πάρα πολύ infinity.:) βέβαια δεν έχουμε μάθει ακόμα συναρτήσεις αλλά θα δω πως μπορώ να το κάνω.:P
 

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

infinity

Εκκολαπτόμενο μέλος

Ο Παναγιώτης αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 190 μηνύματα.
ευχαριστώ πάρα πολύ infinity.:) βέβαια δεν έχουμε μάθει ακόμα συναρτήσεις αλλά θα δω πως μπορώ να το κάνω.:P

ε, καλά απλώς βάλε της συναρτήσεις μέσα στον βασικό κορμό του προγράμματος :P το θέμα είναι να καταλάβεις τον αλγόριθμο ;)

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

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

vasia20

Νεοφερμένος

Η vasia20 αυτή τη στιγμή δεν είναι συνδεδεμένη. Έχει γράψει 2 μηνύματα.
σας παρακαλω θα ηθελα να με βοηθησετε να λυσω αυτη την ασκηση διοτι πρεπει να την παραδωσω μεχρι την πεμπτη.:worry::worry::worry:στο παρακατω αρχειο βρισκεται η εκφωνηση:/: (ο πίνακας είναι μονοδιάστατος)
 

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

Συνημμένα

  • fid.docx
    447.5 KB · Εμφανίσεις: 169
Επεξεργάστηκε από συντονιστή:

Γιώργος

Τιμώμενο Μέλος

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

Με λίγα λόγια, ορίζεις μία συνάρτηση:

  • int loc( int x , int y ), η οποία παίρνει τις διαστάσεις (x,y) και επιστρέφει ένα μόνο index, για τον μονοδιάστατο πίνακα.
  • Μπορεί να χρειαστεί να φτιάξεις και μία αντίστροφη, η οποία να παίρνει το μονοδιάστατο i και να επιστρέφει δύο διαστάσεις.
Όλο σου το reasoning, κοινώς, θα το κάνεις με (x,y) σαν να είχες διδιάστατο, αλλά όταν χρειαστεί να πας και να αποθηκεύσεις ή να διαβάσεις κάτι απ' τον πίνακα, θα μετατρέπεις τα διδάστατα indexes σε ένα μονοδιάστατο, ώστε τελικά να μπορέσεις να κάνεις access τον πίνακα.

Διάβασε αυτό που έγραψα ξανά και ξανά αν δεν το κατάλαβες με την πρώτη.
Εάν θέλεις διευκρινήσεις, ρωτάς. Η υλοποίηση της loc, αφήνεται σε εσένα.

Επίσης, μπορείς να μας παραθέσεις τον μέχρι τώρα κώδικά σου (με καλή στοίχηση) και/ή να μας πεις ακριβώς πού προβληματίζεσαι, σε ποια σημεία. Έτοιμο κώδικα μην περιμένεις - από εμένα τουλάχιστον - γιατί το βρίσκω αντιεκπαιδευτικό. Μόνη σου θα γράψεις την άσκηση, εν τέλει, αλλά αν θελήσεις βοήθεια ρωτάς. :)

-----
PS: προσοχή, κατά την υλοποίηση της loc, να μην βγεις out of bounds.
 

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

vassilis498

Διακεκριμένο μέλος

Ο vassilis498 αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 7,079 μηνύματα.
Δε χρειάζεται να το πας μέσω Λαμίας ( δισδυάστατο ) εφόσον η αρίθμηση είναι συνεχής το μόνο που θες είναι ένα μηχανισμό να υπολογίζει τις μικρές ολισθήσεις ( οι μεγάλες δεν είναι τίποτα προσθαφαιρείς 20 ).

hint: σε ενδιαφέρει να ξέρεις τη διαφορά πχ του 54 από το 50 ή το 60 ανάλογα. θα χρειαστείς mod
 

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

vasia20

Νεοφερμένος

Η vasia20 αυτή τη στιγμή δεν είναι συνδεδεμένη. Έχει γράψει 2 μηνύματα.
Παιδιά είμαι 1 ετής κ ακόμα δεν την καταλαβαίνω...:(:(:( την έχω προσπαθήσει πολύ αλλα τπτ:confused:
 

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

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Παιδιά είμαι 1 ετής κ ακόμα δεν την καταλαβαίνω...:(:(:( την έχω προσπαθήσει πολύ αλλα τπτ:confused:
Ωραία, πες μας πρώτα τι δεν κατάλαβες απ' αυτά που εξηγήσαμε και δείξε τι προσπάθεια έχεις κάνει και πού έχεις κολλήσει. Συγκεκριμένα, δηλαδή, πού είναι το πρόβλημά σου. :)
 

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

bessy_94

Νεοφερμένος

Η bessy_94 αυτή τη στιγμή δεν είναι συνδεδεμένη. Έχει γράψει 13 μηνύματα.
παιδιά καλημέρα...έχω γράψει το παρακάτω πρόγραμμα στη C και ο compiler μου βγάζει λάθος στο getch στο τέλος και δεν μπορώ να βρω το λάθος....μπορεί να μου πει κάποιος που έχω κάνει λάθος??ευχαριστώ εκ των προτέρων...:)

Code:
#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;}
 

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

Επεξεργάστηκε από συντονιστή:

Χρήστες Βρείτε παρόμοια

  • Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:
    Tα παρακάτω 10 μέλη διάβασαν αυτό το θέμα:
  • Φορτώνει...
Top