madas Δημοσ. 27 Νοεμβρίου 2010 Δημοσ. 27 Νοεμβρίου 2010 παιδια ειμαι νεος στον προγραμματισμο και στην c++ και θα ηθελα να με βοηθησετε με καποια error που μου βγαζει η παρακατω συναρτηση >int words (char a[1000000]) { int i=0,b=0; while (a[i]!="/0") { i++; } for (int n=0; n>i; n++) { if (a[n]=" ") { b++; } } return (; } το πρωτο error λεει"ISO C++ forbids comparison between pointer and integer" και μου το βγαζει στη γραμμη που ειναι το while ενω το δευτερο λεει "invalid conversion from ‘const char*’ to ‘char’" και μου το βγαζει στη γραμμη του if Υ.Γ: τα ιδια error τα εχω ξανασυναντησει αλλα ποτε δεν τα καταλαβα και ετσι δεν μπορεσα να τα λυσω
greeker Δημοσ. 27 Νοεμβρίου 2010 Δημοσ. 27 Νοεμβρίου 2010 στο while πρέπει να γίνει '\0' και στο if το = πρέπει να γίνει == επιπλέον ο αλγόριθμός σου δεν έχει ιδιαίτερη λογική. τι θέλεις να κάνεις; μάλλον στο for πρέπει να βάλεις n < i αλλιώς δεν θα τρέξει σχεδόν ποτέ
virxen75 Δημοσ. 27 Νοεμβρίου 2010 Δημοσ. 27 Νοεμβρίου 2010 και το >return (; να γίνει >return b; από ότι κατάλαβα θέλεις να μετρήσεις πόσες λέξεις υπάρχουν σε μία φράση έτσι?
jms Δημοσ. 27 Νοεμβρίου 2010 Δημοσ. 27 Νοεμβρίου 2010 θα ναι καλύτερα πάντως να μελετήσεις κάτι τέτοιο για να μπορείς να προχωρήσεις δες αυτό το βιβλίο είναι ότι πρέπει για μια γρήγορη εισαγωγή
greeker Δημοσ. 28 Νοεμβρίου 2010 Δημοσ. 28 Νοεμβρίου 2010 επίσης για να μετράς τα κενά (που μπορεί να είναι και το tab και η αλλαγή γραμμής κλπ) καλύτερο είναι να χρησιμοποιήσεις τη συνάρτηση int isspace(char c) που επιστρέφει τιμή >0 αν είναι κενό ο χαρακτήρας c και 0 διαφορετικά.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.