DevelopeApps Δημοσ. 9 Οκτωβρίου 2014 Δημοσ. 9 Οκτωβρίου 2014 #include <iostream>using namespace std;int length(char *p)//να μεταβιβαζεται η διευθυνση μιας συμβολοσειρας{ int c = 0; while(*p !='\0') { c++; p++; } return c; //επιστρεφει ως τιμη το μηκος της λεξης}int main (){ char *c = "Hello World"; cout<<"To mhkos ths leksis einai : " ; cout<<length©/*<---παιδια εδω δεν εχω βαλει ως παραμετρο την διευθυνση*/ <<endl; system("pause"); return 0;}
DevelopeApps Δημοσ. 9 Οκτωβρίου 2014 Μέλος Δημοσ. 9 Οκτωβρίου 2014 να σε καλα φιλε μου γιατι μου λενε οι φιλοι μου οτι το εχω λαθος, και να σκεφτω να το κανω διαφορετικα
DevelopeApps Δημοσ. 10 Οκτωβρίου 2014 Μέλος Δημοσ. 10 Οκτωβρίου 2014 /*Na γραφει συναρτηση η οποια να δεχεται ως παραμετρο τη διευθυνση μιας συμβολοσειρας και να εμφανιζει μονο τους αριθμητικους χαρακτηρες(0-9) που περιεχονται στην συμβολοσειρα*/ /*χρειαζομαι βοηθεια σε αυτη την ασκηση δεν ξερω τι αλλο να κανω για να βρω την λυση */ int Arithmoi(char *p); int main () { char *ptr; ptr="Hello1234"; cout<<"Oi arithmoitikoi xarakthres einai : "; cout<<Arithmoi(ptr) <<endl; system("pause"); return 0; } int Arithmoi(char *p) { int counter = 0; int num ; while(*p != '\0') { if(*p == num) { counter++; } p++; } return counter++; }
Moderators Kercyn Δημοσ. 10 Οκτωβρίου 2014 Moderators Δημοσ. 10 Οκτωβρίου 2014 Θα ξεκινήσω λέγοντάς σου αυτά που σου είχα πει και σε άλλα threads στο προηγούμενο account σου. Βάζε code tags. Τρέχε αυτά που γράφεις. Τώρα, στο πρώτο πρόγραμμα που έγραψες δε γράφεις ούτε ερώτηση ούτε τίποτα, απλώς ανοίγεις ένα θέμα που έχει κάποιον κώδικα μέσα. Εμείς δεν είμαστε μάντεις για να ξέρουμε τι θες να κάνεις, τι απορίες έχεις και πού κολλάς. Η αλήθεια είναι ότι στο ναι που έγραψα περίμενα μια απάντηση "πού μου λες ναι τώρα". Ο κώδικας σωστός φαίνεται γι' αυτό που (υποθέτω) θέλεις να κάνεις, απλώς δεν είναι C++, είναι C γραμμένη με συντακτικό C++. Αυτό δεν είναι απαραίτητα κακό αν θες να μάθεις αλγοριθμική σκέψη κλπ και δε σ' ενδιαφέρει η γλώσσα αυτή καθαυτή, απλώς πιστεύω ότι C και C++ δεν είναι οι καλύτερες για κάποιον αρχάριο. Το δεύτερο έχει πολλά λάθη. Κατ' αρχάς αυτό που πας να κάνεις δεν είναι αυτό που σου ζητάει. Εσύ πας να εκτυπώσεις πόσους αριθμούς έχει μέσα ο πίνακάς σου, ενώ η εκφώνηση σου ζητάει να εκτυπώσεις μόνο τους αριθμητικούς χαρακτήρες του πίνακα. Στη συνέχεια συγκρίνεις κάθε στοιχείο του πίνακά σου με το num, το οποίο δεν αρχικοποιείς ποτέ. Και να το είχες αρχικοποιήσει, πάλι λάθος θα ήταν διότι θα σύγκρινες με μόνο έναν από τους 10 πιθανούς αριθμούς. Το ότι το ονόμασες num δε σημαίνει ότι θα σου βρίσκει τα νούμερα επειδή έτσι το σκέφτηκες. Τέλος, επιστρέφεις counter++. Δεν είμαι απόλυτα σίγουρος ότι το ++ δε θα εκτελεστεί, αλλά σίγουρα δε θα εκτελεστεί πριν η συνάρτηση επιστρέψει, οπότε δεν κάνει καμία διαφορά είτε υπάρχει είτε όχι. Αν ήθελες το counter να αυξηθεί πριν επιστρέψει η συνάρτηση, έπρεπε να γράψεις ++counter. Πριν ξεκινήσεις να υλοποιείς οποιονδήποτε αλγόριθμο, πρέπει να έχεις κατανοήσει πλήρως τι σου ζητάει. Αν δεν το κάνεις αυτό, θα γράφεις ό,τι σου κατεβαίνει και μετά θα ψάχνεις να βρεις πού έκανες λάθος. Επίσης, τρέχε αυτά που γράφεις με το μυαλό σου για να δεις τη ροή του αλγορίθμου σου και να βρεις τυχόν λογικά λάθη που δεν πιάνει ο compiler.
DevelopeApps Δημοσ. 10 Οκτωβρίου 2014 Μέλος Δημοσ. 10 Οκτωβρίου 2014 την συμβολοσειρα πως μπορω να την φτιαξω? το αλλαξα ετσι ptr[8] = {'H','e','l','l','o','1','2','3','4'}; αλλα μου βγαζει λαθοι! οσο για τα code tags ας βαλουν βοηθεια για αυτο δεν ξερω πως γινεται(γιατι εχεις κολλησει με αυτο το θεμα) τα τρεχω αυτα που γραφω αλλα δεν καταλαβαινω που υπαρχει το λαθος
DevelopeApps Δημοσ. 10 Οκτωβρίου 2014 Μέλος Δημοσ. 10 Οκτωβρίου 2014 τα εφτιαξα τωρα εχω κολλησει στο πως θα βρω αν υπαρχει αριθμος μεσα σε μια συμβολοσειρα?
gon1332 Δημοσ. 10 Οκτωβρίου 2014 Δημοσ. 10 Οκτωβρίου 2014 τα εφτιαξα τωρα εχω κολλησει στο πως θα βρω αν υπαρχει αριθμος μεσα σε μια συμβολοσειρα? Εδώ μέσα θα βρεις αυτό που ζητάς. Όποτε χρειάζεσαι μία συνάρτηση βασισμένη πχ σε strings, characters, memory, maths κ.α. ρίξε μία ματιά σε κάποιο c/c++ reference. Καλό θα ήταν να "ξεφύλιζες" το reference που σου έστειλα για να πάρεις μία ιδέα του τί υπάρχει γενικά. Όταν χρειάζεται να χρησιμοποιήσεις κάποια συνάρτηση, πριν την υλοποιήσεις, καλό θα ήταν να ανατρέχεις πρώτα σε κάποιο reference point μήπως είναι ήδη υλοποιημένη σε κάποια standard βιβλιοθήκη. Αν είναι, τότε είσαι πολύ τυχερός/ή. Στην περίπτωσή σου, είσαι τυχερός/ή.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα