Επισκέπτης Δημοσ. 4 Φεβρουαρίου 2021 Δημοσ. 4 Φεβρουαρίου 2021 στην παρακάτω φώτογραφία είναι μια άσκηση που πρέπει να λυθεί σε c και δεν την έχω καταλάβει όποιος μπορεί ας με βοηθήσει ευχαριστώ!!! Υγ1 εκει που λέει two είναι τυπογραφικό four είναι το σωστό!!!
kaliakman Δημοσ. 4 Φεβρουαρίου 2021 Δημοσ. 4 Φεβρουαρίου 2021 Τι έχεις κάνει μέχρι τώρα και που έχεις κολλήσει?
Επισκέπτης Δημοσ. 4 Φεβρουαρίου 2021 Δημοσ. 4 Φεβρουαρίου 2021 (επεξεργασμένο) 19 λεπτά πριν, kaliakman είπε Τι έχεις κάνει μέχρι τώρα και που έχεις κολλήσει? ουσιαστικά έχω κολλήσει στην συναρτηση στο τι πρέπει να κάνει #include<stdio.h> #include<stdlib.h> #include<string.h> #define N 10 int four(int); main() { int lim,a; char xar; printf("Give a num\n"); scanf("%d",&lim); printf("Give a char"); scanf("%c",&xar); a=four(lim); printf("Numbers of string is: \n%d",a); } int four(int llim) { int pin[N]; } Επεξ/σία 4 Φεβρουαρίου 2021 από vense97
Επισκέπτης Δημοσ. 4 Φεβρουαρίου 2021 Δημοσ. 4 Φεβρουαρίου 2021 1 ώρα πριν, kaliakman είπε Τι έχεις κάνει μέχρι τώρα και που έχεις κολλήσει? #include<stdio.h> #include<stdlib.h> #include<string.h> #define N 10 int four(int,char); main() { int lim,a; char xar; printf("Give a num\n"); scanf("%d",&lim); fflush(stdin); printf("Give a char\n"); scanf("%c",&xar); a=four(lim,xar); printf("Numbers of string is: \n%d",a); } int four(int llim, char xxar) { int totals,sum,i; char pin[N]; totals=1; sum=0; while(totals<llim+1) { printf("string %d:\n",totals); gets(pin); if(strlen(pin)<5||pin[strlen(pin)-1]==xxar) { printf("LATHOS\n"); return totals; } for(i=0;i<strlen(pin);i++) if(pin[i]<65 || pin[i]>90) { pin[i]='C'; sum++; } printf("sum= %d\n", sum); puts(pin); totals++; } return sum; } το ολοκλήρωσα όμως δεν τρέχει σωστά
imitheos Δημοσ. 4 Φεβρουαρίου 2021 Δημοσ. 4 Φεβρουαρίου 2021 Δεν ανέφερες το περιβάλλον στο οποίο το τρέχεις (ή τον compiler τον οποίον χρησιμοποιείς) ούτε τι είναι αυτό που δεν τρέχει. Δοκίμασες να βάλεις "δοκιμαστικά" printf σε συγκεκριμένα σημεία ώστε να δεις τι τιμές παίρνουν κάποιες μεταβλητές κλειδιά; Χωρίς παραπάνω πληροφορίες δεν μπορούμε να ξέρουμε τι φταίει. Για παράδειγμα το fflush που έβαλες λειτουργεί σωστά; Αυτό είναι ανάλογα το περιβάλλον που χρησιμοποιείς. Αν λειτουργεί γιατί έβαλες μόνο μετά την 1η scanf και όχι μετά την 2η; Μήπως αυτό χαλάει την gets; Αν δεν λειτουργεί θα πρέπει να βρεις άλλον τρόπο να "καθαρίζεις" την είσοδο.
filip123go Δημοσ. 5 Φεβρουαρίου 2021 Δημοσ. 5 Φεβρουαρίου 2021 (επεξεργασμένο) Spoiler Γιατί διδάσκουν ακόμα αυτή τη γλώσσα;;;; Αντε, c++ πες ακόμα χρησιμοποιείται σε πολλές εταιρίες. Αλλά c;;;; Ts, πόσταρε και το αποτέλεσμα. Τι σου βγάζει;; edit:Το πρώτο bullet δεν το έχεις κάνει, πως να σου παίξει; Επεξ/σία 5 Φεβρουαρίου 2021 από filip123go
kaliakman Δημοσ. 5 Φεβρουαρίου 2021 Δημοσ. 5 Φεβρουαρίου 2021 53 λεπτά πριν, filip123go είπε Απόκρυψη περιεχομένων Γιατί διδάσκουν ακόμα αυτή τη γλώσσα;;;; Αντε, c++ πες ακόμα χρησιμοποιείται σε πολλές εταιρίες. Αλλά c;;;; Ts, πόσταρε και το αποτέλεσμα. Τι σου βγάζει;; edit:Το πρώτο bullet δεν το έχεις κάνει, πως να σου παίξει; Γιατί είναι σχολή πληροφορικής και όχι προγραμματισμού.
imitheos Δημοσ. 5 Φεβρουαρίου 2021 Δημοσ. 5 Φεβρουαρίου 2021 8 ώρες πριν, filip123go είπε Εμφάνιση κρυμμένου περιεχομένου Γιατί διδάσκουν ακόμα αυτή τη γλώσσα;;;; Αντε, c++ πες ακόμα χρησιμοποιείται σε πολλές εταιρίες. Αλλά c;;;; Γιατί ένα πρόγραμμα σπουδών αλλάζει 1 φορά κάθε 35 χρόνια 😛 Το δικό μας πρόγραμμα σπουδών είχε cobol και prolog να φανταστείς. Το 2000 είχα προλάβει prolog και νομίζω ότι είχε λίγα χρόνια που είχε αφαιρεθεί η cobol. Μετά από 2-3 χρόνια μπήκε java η οποία νομίζω ότι αντικατέστησε την prolog αλλά δεν είμαι σίγουρος. Και το βιβλίο που μας έδιναν για την C ήταν εποχής Turbo C σε DOS και έδινε παρωχημένες οδηγίες του στυλ int = 2 bytes. 8 ώρες πριν, filip123go είπε ε και το αποτέλεσμα. Τι σου βγάζει;; edit:Το πρώτο bullet δεν το έχεις κάνει, πως να σου παίξει; Πρώτο bullet εννοείς εκεί που λέει συνάρτηση two; Αν ναι, είναι τυπογραφικό και εννοεί την four. Αν παραβλέψουμε "λάθη" τύπου άσκησης (πχ gets, < 65, κτλ) ο κώδικας έπαιξε σε εμένα μετά από κάποιες αλλαγές. Αλλά, όπως είπες, δεν μας έδωσε ούτε τι λάθη δείχνει ο compiler ούτε τι κάνει το πρόγραμμα. Εγώ υποθέτω ότι είναι η fflush, όπως έγραψα και πριν.
kaliakman Δημοσ. 5 Φεβρουαρίου 2021 Δημοσ. 5 Φεβρουαρίου 2021 4 ώρες πριν, imitheos είπε Γιατί ένα πρόγραμμα σπουδών αλλάζει 1 φορά κάθε 35 χρόνια 😛 Το δικό μας πρόγραμμα σπουδών είχε cobol και prolog να φανταστείς. Το 2000 είχα προλάβει prolog και νομίζω ότι είχε λίγα χρόνια που είχε αφαιρεθεί η cobol. Μετά από 2-3 χρόνια μπήκε java η οποία νομίζω ότι αντικατέστησε την prolog αλλά δεν είμαι σίγουρος. Και το βιβλίο που μας έδιναν για την C ήταν εποχής Turbo C σε DOS και έδινε παρωχημένες οδηγίες του στυλ int = 2 Ακόμα υπάρχει η Prolog αλλά πλέον έχει εισαχθει και η Haskell. Εγώ θεωρώ πολύ σωστό να σου μαθαίνει c γιατί είναι πολύ πιο "εύκολο" να κάνεις πολλά μαθήματα έτσι. Πχ λειτουργικά ή δομες και να καταλάβαινες τι συμβαίνει.
k33theod Δημοσ. 5 Φεβρουαρίου 2021 Δημοσ. 5 Φεβρουαρίου 2021 Το πρόγραμμα είναι σωστό και κάνει ότι ζητάει η άσκηση, εκτός ίσως το τελευταίο return της four που νομίζω πρέπει να επιστρέφει totals αντί sum. To ότι δεν τρέχει μπορεί όπως είπαν και οι άλλοι να οφείλεται σε πολλά πράγραμματα. Προτείνω να το τρέξεις σε debugger για να έχεις σωστή εικόνα τι πάει λάθος.
marios28 Δημοσ. 5 Φεβρουαρίου 2021 Δημοσ. 5 Φεβρουαρίου 2021 Στις 4/2/2021 στις 2:29 ΜΜ, vense97 είπε το ολοκλήρωσα όμως δεν τρέχει σωστά Μάλλον έχεις θέμα με το enter στις 2 scanf. Μετά από κάθε scanf πρόσθεσε την εντολή getchar(); Ή μπορείς να χρησιμοποιήσεις ένα while για να ξεσκαρτάρεις χαρακτήρες/ελέγχεις μήκος ή μπορείς να χρησιμοποιήσεις την fgets και να κάνεις ανάθεση τον πρώτο χαρακτήρα (άσχετα αν ο χρήστης κατά λάθος εισάγει περισσότερους χαρακτήρες).
Επισκέπτης Δημοσ. 5 Φεβρουαρίου 2021 Δημοσ. 5 Φεβρουαρίου 2021 (επεξεργασμένο) Καλησπέρα παιδιά!!! Δεν είχα μπει καθόλου - και για αυτό γράφω τώρα - και δεν είχα δει τι είχατε γράψει και σας ευχαριστώ πολυ όλους....τελικά έπρεπε να βάλω άλλο ένα fflush(stdin); και επίσης τα gets και puts να τα κάνω scanf και printf. Μετά από όλα αυτά που άλλαξα δεν είχα κανένα θέμα...Σας ευχαριστώ πολύ και πάλι!!! 6 ώρες πριν, k33theod είπε Το πρόγραμμα είναι σωστό και κάνει ότι ζητάει η άσκηση, εκτός ίσως το τελευταίο return της four που νομίζω πρέπει να επιστρέφει totals αντί sum. To ότι δεν τρέχει μπορεί όπως είπαν και οι άλλοι να οφείλεται σε πολλά πράγραμματα. Προτείνω να το τρέξεις σε debugger για να έχεις σωστή εικόνα τι πάει λάθος. Το sum πρέπει να επιστρέφει απο ότι κατάλαβα...όπως είπαμε πολύ κακογραμμένη άσκηση 20 ώρες πριν, filip123go είπε Απόκρυψη περιεχομένων Γιατί διδάσκουν ακόμα αυτή τη γλώσσα;;;; Αντε, c++ πες ακόμα χρησιμοποιείται σε πολλές εταιρίες. Αλλά c;;;; Ts, πόσταρε και το αποτέλεσμα. Τι σου βγάζει;; edit:Το πρώτο bullet δεν το έχεις κάνει, πως να σου παίξει; δες το υπουργείο ήθελε να κάνουμε πασκαλ, οπότε θεωρώ τυχερό τον ευατό μου ,πως πριν την c++ και την java που θα τις δω σε άλλα εξάμηνα, αντι για πασκαλ κάνω c 😂 Επεξ/σία 5 Φεβρουαρίου 2021 από vense97
filip123go Δημοσ. 5 Φεβρουαρίου 2021 Δημοσ. 5 Φεβρουαρίου 2021 Συγχαρητήρια φίλε που το έλυσες μόνος σου, μπράβο! Συνέχισε έτσι και που ξέρεις, σε 4-5 χρόνια μπορεί να μου έρθεις και για συνέντευξη.!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα