christian-ago Δημοσ. 30 Ιανουαρίου 2010 Δημοσ. 30 Ιανουαρίου 2010 Καλησπερα παιδια. Αρχιζω δειλα δειλα τον προγραμματισμο σε C++ και εχω φτιαξει ενα προγραμμα να προσθετει τα περιεχομενα ενος μονοδιαατατου πινακα τυπου float. Το προβλημα μου ειναι οτι οταν τρεχω το προγραμμα στην κονσολα (επειτα της μεταγλωττισης) δεν δειχνει τιποτα, σαν να εχω φτιαξει προγραμμα που δεν βγαζει καμια εξοδο. Χρησιμοποιω Dev c++ και εχω κανει ολες τις απαραιτητες ρυθμισεις. Ευχαριστω εκ των προτερων. >#include <iostream> #include <cstdlib> using namespace std; void print_sum(float array[]); void print_sum(float array[]) { int i; float sum; for (i=0;i<10;i++) { sum = 0; sum = sum+array[i]; } cout<<"Áèñïéóìá ="<<sum<<endl; } int main (int argc, char *argv[]) { float a[10] = {1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.0}; void print_sum(float array[]); system("PAUSE"); return EXIT_SUCCESS; }
bxenos Δημοσ. 31 Ιανουαρίου 2010 Δημοσ. 31 Ιανουαρίου 2010 Καλησπερα παιδια. Αρχιζω δειλα δειλα τον προγραμματισμο σε C++και εχω φτιαξει ενα προγραμμα να προσθετει τα περιεχομενα ενος μονοδιαατατου πινακα τυπου float. Το προβλημα μου ειναι οτι οταν τρεχω το προγραμμα στην κονσολα (επειτα της μεταγλωττισης) δεν δειχνει τιποτα, σαν να εχω φτιαξει προγραμμα που δεν βγαζει καμια εξοδο. Χρησιμοποιω Dev c++ και εχω κανει ολες τις απαραιτητες ρυθμισεις. Ευχαριστω εκ των προτερων. >#include <iostream> #include <cstdlib> using namespace std; void print_sum(float array[]); void print_sum(float array[]) { int i; float sum; for (i=0;i<10;i++) { sum = 0; sum = sum+array[i]; } cout<<"Áèñïéóìá ="<<sum<<endl; } int main (int argc, char *argv[]) { float a[10] = {1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.0}; [color="Red"]void print_sum(array);d"]void print_sum(float array[]); ΛΑΘΟΣ (ορισμός συνάρτησης)[/color] [color="SeaGreen"]print_sum(array); ΣΩΣΤΟ (κλήση συνάρτησης)[/color] system("PAUSE"); return EXIT_SUCCESS; } ............ ---------- Προσθήκη στις 00:28 ---------- Προηγούμενο μήνυμα στις 00:17 ---------- βέβαια δεν θα σου βγάλει άθροισμα, αλλά 10.0, αλλά δεν πειράζει, πρωτο πρόγραμμα είναι, θα το βρείς
virxen75 Δημοσ. 31 Ιανουαρίου 2010 Δημοσ. 31 Ιανουαρίου 2010 > #include <iostream> #include <cstdlib> using namespace std; void print_sum(float array[]); void print_sum(float array[]) { int i; float sum[color="Red"]=0;//εδώ μηδενίζεις[/color] for (i=0;i<10;i++) { [color="Red"]//sum = 0;[/color] λογικό λάθος μηδενίζεις συνέχεια το άθροισμα sum = sum+array[i]; } cout<<"A8roisma ="<<sum<<endl; } int main (int argc, char *argv[]) { float a[10] = {1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.0}; [color="Red"]//void print_sum(float array[]);[/color] εδώ δηλώνεις την συνάρτηση δεν την καλείς [color="Red"]print_sum(a);//το σωστό είναι αυτό[/color] system("PAUSE"); return EXIT_SUCCESS; }
christian-ago Δημοσ. 31 Ιανουαρίου 2010 Μέλος Δημοσ. 31 Ιανουαρίου 2010 Ευχαριστω παιδια, τωρα δουλευει το προγραμμα οπως θελω. Ενταξει δεν διαλεξα ευκολη ασκηση για πρωτο προγραμμα γι αυτο εκανα τετοια χαζα λαθη. Να στε καλα.
C6WGMN Δημοσ. 31 Ιανουαρίου 2010 Δημοσ. 31 Ιανουαρίου 2010 Ευχαριστω παιδια, τωρα δουλευει το προγραμμα οπως θελω.Ενταξει δεν διαλεξα ευκολη ασκηση για πρωτο προγραμμα γι αυτο εκανα τετοια χαζα λαθη. Να στε καλα. Ένα μεγάλο λάθος που οι φίλοι δεν ανέφεραν είναι πως η συνάρτηση print_sum "γνωρίζει" το μέγεθος τις σειράς που λαμβάνει ως είσοδο με αποτέλεσμα να είναι άχρηστη για σειρές διαφορετικού μεγέθους. Χρησιμοποίησε δυο μεταβλητές, μια θα είναι η σειρά και η δεύτερη ο αριθμός των ορων τον οποιον το άθροισμα η συνάρτηση θα γυρίσει. Καλύτερα είναι να γυρνάς τιμές παρα να τα γραφεις με cout. Αν κάποιος θέλει να χρησιμοποιήσει το άθροισμα σε άλλους υπολογισμούς δεν μπορεί με την συνάρτηση σου.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.