NiKoS WSN Δημοσ. 8 Σεπτεμβρίου 2011 Δημοσ. 8 Σεπτεμβρίου 2011 Γεια σας! Θέλω να ασχοληθώ με τον προγραμματισμό! Βρήκα αυτήν την ιστοσελίδα ( http://hellenico.gr/index.php ). Να μην πολυλογώ διαβάζω την θεωρία 1.1 όπου μου λέει πως να κάνω υποβολή τον κώδικα! Μου έχει πληροφορίες και μου δίνει έναν κώδικα να κάνω υποβολή > #include <stdio.h> int main(void) { FILE *in = fopen("test.in", "r"); FILE *out = fopen("test.out", "w"); int a, b; fscanf(in, "%d %d", &a, &; fprintf(out, "%d\n", a + ; fclose(in); fclose(out); return 0; } (μου λέει με λίγα λόγια τι κάνει αυτός ο κώδικας!) και τώρα το μόνο που μπορώ να κάνω είναι να λύσω το πρώτο πρόβλημα (1.1) Ο Μίλτος το δελφίνι είναι ένα πολύ ταξιδιάρικο δελφίνι και λατρεύει να διανύει μεγάλες αποστάσεις και να χρονομετρεί τον εαυτό του. Το χρονόμετρο όμως που χρησιμοποιεί έχει δυστυχώς χαλάσει και δείχνει τη μισή ώρα από αυτή που έπρεπε να δείξει κανονικά. Δηλαδή αν ο Μίλτος κάνει μια απόσταση σε 38 δευτερόλεπτα το χρονόμετρο θα δείξει ότι πέρασαν μόνο 19 δευτερόλεπτα. Ο Μίλτος δεν ξέρει τι να κάνει και στράφηκε σε εσένα να τον βοηθήσεις. Μπορείς να γράψεις ένα πρόγραμμα που να δέχεται σαν είσοδο τις λανθασμένες ενδείξεις του χρονομέτρου και να υπολογίζει ποιες είναι οι σωστές; Δεδομένα Εισόδου (time.in) Το πρόγραμμα θα δέχεται σαν είσοδο τις λανθασμένες ενδείξεις του χρονομέτρου στη μορφή ΩΩ:ΛΛ:ΔΔ, όπου ΩΩ, ΛΛ, ΔΔ είναι ένας διψήφιος ακέραιος με 00<=ΩΩ<=99, 00<=ΛΛ<=59, 00<=ΔΔ<=59. Δεν θα υπάρχει είσοδος στην οποία θα έχουν περάσει περισσότερες από 50 ώρες. Δεδομένα Εξόδου (time.out) Το πρόγραμμα θα τυπώνει ποια είναι η ένδειξη που θα έπρεπε να δείξει το χρονόμετρο στην ίδια μορφή με την ένδειξη της εισόδου. Παράδειγμα εισόδου (αρχείο "time.in") 12:44:03 Παράδειγμα εξόδου (αρχείο "time.out") 25:28:06 Αλλά εγώ δεν ξέρω τι να κάνω! Έκανα διάφορες πατέντες με τον κώδικα από την θεωρία αλλά τίποτα! Δεν θέλω την λύση αλλά κάποια μικρή βοήθεια!
xlomo Δημοσ. 8 Σεπτεμβρίου 2011 Δημοσ. 8 Σεπτεμβρίου 2011 Στο παράδειγμα που έδωσες υπάρχουν 2 αρχεία ένα εισόδου και ένα εξόδου. Από το αρχείο time.in θα σου δίνει ένδειξη χρονόμετρου, εσύ θα την μετατρέψεις σε δευτερόλεπτα, θα βρεις τον τύπο που σου δίνει πόσα δευτερόλεπτα περνάνε πραγματικά (Στα 38 το χρονόμετρο σου δείχνει 19 στο 1 πόσα ?) αυτά τα δευτερόλεπτα θα τα ξαναμετατρέψεις σε ένδειξη χρονομέτρου, και τέλος θα τα τυπώσεις στο αρχείο time.out
NiKoS WSN Δημοσ. 8 Σεπτεμβρίου 2011 Μέλος Δημοσ. 8 Σεπτεμβρίου 2011 Στο παράδειγμα που έδωσες υπάρχουν 2 αρχεία ένα εισόδου και ένα εξόδου. Από το αρχείο time.in θα σου δίνει ένδειξη χρονόμετρου, εσύ θα την μετατρέψεις σε δευτερόλεπτα, θα βρεις τον τύπο που σου δίνει πόσα δευτερόλεπτα περνάνε πραγματικά (Στα 38 το χρονόμετρο σου δείχνει 19 στο 1 πόσα ?) αυτά τα δευτερόλεπτα θα τα ξαναμετατρέψεις σε ένδειξη χρονομέτρου, και τέλος θα τα τυπώσεις στο αρχείο time.out Στα μαθηματικά ξέρω να το κάνω σε προγράμματα δεν μπορώ να το κάνω γιατί δεν έχω καμία ιδέα από συγκεκριμένη γλώσσα! Πως θα το κάνω;
xlomo Δημοσ. 8 Σεπτεμβρίου 2011 Δημοσ. 8 Σεπτεμβρίου 2011 Σε ποιο κομμάτι του προγράμματος δεν μπορείς να συνεχίσεις ? Στην ανάγνωση του αρχείου , στην μετατροπή των δευτερολέπτων ή στην εγγραφή του αποτελέσματος ?
NiKoS WSN Δημοσ. 8 Σεπτεμβρίου 2011 Μέλος Δημοσ. 8 Σεπτεμβρίου 2011 Σε ποιο κομμάτι του προγράμματος δεν μπορείς να συνεχίσεις ? Στην ανάγνωση του αρχείου , στην μετατροπή των δευτερολέπτων ή στην εγγραφή του αποτελέσματος ? Σε όλα θα είναι λίγο! Είναι σαν να πω σε ένα μικρό παιδί που μόλις έμαθε να λέει το όνομα του να το γράψει! Κάνω κάτι λάθος, γίνεται να κάνω άτι τέτοιο με 1% γνώσεις;
παπι Δημοσ. 8 Σεπτεμβρίου 2011 Δημοσ. 8 Σεπτεμβρίου 2011 fscanf("%d:%d:%d",ΩΩ,ΛΛ,ΔΔ) μαθηματικα... fprintf("%d:%d:%d",ΩΩ,ΛΛ.ΔΔ) Tips: Θελεις if για να δεις αν τα λεπτα/δευτερολεπτα εχουν υπερχειλισει
xlomo Δημοσ. 8 Σεπτεμβρίου 2011 Δημοσ. 8 Σεπτεμβρίου 2011 Συνειδητοποιώ πως στο site δεν σου δίνει τίποτα από θεωρία για να ξεκινήσεις. Είναι αδύνατον να προχωρήσεις έτσι... Από Αγγλικά πως τα πας ? Εγώ θα ξεκινούσα από κάτι τέτοιο http://www2.its.strath.ac.uk/courses/c/section3_4.html#SECTION0004000000000000000
chaos686 Δημοσ. 8 Σεπτεμβρίου 2011 Δημοσ. 8 Σεπτεμβρίου 2011 Κι εγώ προτείνω να ψάξεις κάποιο tutorial για να μάθεις τα βασικά και μετά αν θέλεις να ασχοληθείς με κάτι τέτοιο.Είναι αδύνατον όμως να βγάλεις άκρη με αυτό χωρίς να έχεις καθόλου γνώσεις.Σίγουρα θα βρεις και στα ελληνικά αρκετούς οδηγούς για C.Ψάξε όμως για κάποιον που ξεκινάει από το μηδέν.Εσύ πήγες κατευθείαν στα βαθειά!!
NiKoS WSN Δημοσ. 8 Σεπτεμβρίου 2011 Μέλος Δημοσ. 8 Σεπτεμβρίου 2011 Κι εγώ προτείνω να ψάξεις κάποιο tutorial για να μάθεις τα βασικά και μετά αν θέλεις να ασχοληθείς με κάτι τέτοιο.Είναι αδύνατον όμως να βγάλεις άκρη με αυτό χωρίς να έχεις καθόλου γνώσεις.Σίγουρα θα βρεις και στα ελληνικά αρκετούς οδηγούς για C.Ψάξε όμως για κάποιον που ξεκινάει από το μηδέν.Εσύ πήγες κατευθείαν στα βαθειά!! Κατάλαβα... Ευχαριστώ πολύ όλους!
xlomo Δημοσ. 9 Σεπτεμβρίου 2011 Δημοσ. 9 Σεπτεμβρίου 2011 Κάθε αρχή και δύσκολη, μην απογοητευτείς όμως, αν σε ενδιαφέρει ασχολήσου λίγο, έστω και για την πλάκα σου είναι αρκετά δημιουργικό χόμπι.
NiKoS WSN Δημοσ. 9 Σεπτεμβρίου 2011 Μέλος Δημοσ. 9 Σεπτεμβρίου 2011 Κάθε αρχή και δύσκολη, μην απογοητευτείς όμως, αν σε ενδιαφέρει ασχολήσου λίγο, έστω και για την πλάκα σου είναι αρκετά δημιουργικό χόμπι. Κυρίως ασχολούμαι με web design- development οπότε θα ασχοληθώ αργότερα με προγραμματισμό! Το site μου το έδωσε ένας φίλος επειδή ξέρει πως ασχολούμαι και μπήκα να τσεκάρω! Αλλά δεν καίγομαι!
Leuteris Δημοσ. 11 Σεπτεμβρίου 2011 Δημοσ. 11 Σεπτεμβρίου 2011 Ο Μίλτος το δελφίνι είναι ένα πολύ ταξιδιάρικο δελφίνι και λατρεύει να διανύει μεγάλες αποστάσεις και να χρονομετρεί τον εαυτό του. Το χρονόμετρο όμως που χρησιμοποιεί έχει δυστυχώς χαλάσει και δείχνει τη μισή ώρα από αυτή που έπρεπε να δείξει κανονικά. Δηλαδή αν ο Μίλτος κάνει μια απόσταση σε 38 δευτερόλεπτα το χρονόμετρο θα δείξει ότι πέρασαν μόνο 19 δευτερόλεπτα. Ο Μίλτος δεν ξέρει τι να κάνει και στράφηκε σε εσένα να τον βοηθήσεις. Μπορείς να γράψεις ένα πρόγραμμα που να δέχεται σαν είσοδο τις λανθασμένες ενδείξεις του χρονομέτρου και να υπολογίζει ποιες είναι οι σωστές; Δεδομένα Εισόδου (time.in) Το πρόγραμμα θα δέχεται σαν είσοδο τις λανθασμένες ενδείξεις του χρονομέτρου στη μορφή ΩΩ:ΛΛ:ΔΔ, όπου ΩΩ, ΛΛ, ΔΔ είναι ένας διψήφιος ακέραιος με 00<=ΩΩ<=99, 00<=ΛΛ<=59, 00<=ΔΔ<=59. Δεν θα υπάρχει είσοδος στην οποία θα έχουν περάσει περισσότερες από 50 ώρες. Δεδομένα Εξόδου (time.out) Το πρόγραμμα θα τυπώνει ποια είναι η ένδειξη που θα έπρεπε να δείξει το χρονόμετρο στην ίδια μορφή με την ένδειξη της εισόδου. Παράδειγμα εισόδου (αρχείο "time.in") 12:44:03 Παράδειγμα εξόδου (αρχείο "time.out") 25:28:06 Τι λάθος έχει το παρακάτω πρόγραμμα;;όταν το τρέχω βγάζει σωστά αποτελέσματα αλλα όταν το κανω υποβολή στο site μου βγάζει λάθη.. >#include <stdio.h> int main(void) { FILE *in= fopen("time.in","r"); FILE *out= fopen("time.out","w"); int h,m,s,sec,wres,lepta,b; char c; fscanf(in,"%d%c%d%c%d",&h,&c,&m,&c,&s); b = (h * 3600)+ (60 * m) + s; sec = b * 2; wres = sec / 3600; sec = sec - (wres*3600); lepta = sec / 60; sec = sec - (lepta*60); fprintf(out,"%d%c%d%c%d\n",wres,c,lepta,c,sec); fclose(in); fclose(out); return (0); }
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.