Το πρώτο μου πρόγραμμα σε C++ :D

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από Christianago » 30 Ιαν 2010 18:59

Καλησπερα παιδια. Αρχιζω δειλα δειλα τον προγραμματισμο σε C++
και εχω φτιαξει ενα προγραμμα να προσθετει τα περιεχομενα ενος μονοδιαατατου πινακα τυπου float. Το προβλημα μου ειναι οτι οταν τρεχω το προγραμμα στην κονσολα (επειτα της μεταγλωττισης) δεν δειχνει τιποτα, σαν να εχω φτιαξει προγραμμα που δεν βγαζει καμια εξοδο.
Χρησιμοποιω Dev c++ και εχω κανει ολες τις απαραιτητες ρυθμισεις.
Ευχαριστω εκ των προτερων.
Συνημμένα
codec.rar
(385 Ψηφιολέξεις) Μεταφορτώθηκε 257 φορές

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από virxen75 » 31 Ιαν 2010 01:13

Κώδικας: Επιλογή όλων

#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;

void print_sum&#40;float array&#91;&#93;&#41;; 

void print_sum&#40;float array&#91;&#93;&#41;
&#123;
    int i;
    float sum=0;//εδώ μηδενίζεις
    for &#40;i=0;i<10;i++&#41;
    &#123;
    //sum = 0.1; λογικό λάθος,δεν παίρνεις το άθροισμα
    sum = sum+array&#91;i&#93;;
    &#125;
    cout<<"Athroisma ="<<sum<<endl;
&#125;

int main &#40;int argc, char *argv&#91;&#93;&#41;
&#123;
 float a&#91;10&#93; = &#123;1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.0&#125;;
//void print_sum&#40;float a&#91;&#93;&#41;; //αυτό είναι η δήλωση της
print_sum&#40;a&#41;;//έτσι είναι ο σωστός τρόπος να καλέσεις την συνάρτηση
    system&#40;"PAUSE"&#41;;
    return EXIT_SUCCESS;
&#125;

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από mariosal » 10 Φεβ 2010 20:44

Εγώ θα το έγραφα έτσι

Κώδικας: Επιλογή όλων

#include <iostream>

float getSum&#40; float a&#91; &#93; &#41;;

int main&#40; &#41; &#123;
    float nums&#91; 10 &#93; = &#123; 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.0 &#125;;
    std&#58;&#58;cout << "Άθροισμα&#58; " << getSum&#40; nums &#41; << '\n';

    return 0;
&#125;

float getSum&#40; float a&#91; &#93; &#41; &#123;
    int i = 0;
    float sum = 0;
    while &#40; i < sizeof&#40; a &#41; / sizeof&#40; float &#41; &#41; &#123;
        sum += a&#91; i++ &#93;;
    &#125;
    return sum;
&#125;
Τελευταία επεξεργασία από το μέλος mariosal την 01 Μαρ 2010 16:49, έχει επεξεργασθεί 4 φορές συνολικά.

Erevis
Δημοσιεύσεις: 56
Εγγραφή: 12 Ιουν 2008 16:31
Τοποθεσία: Χαλάνδρι

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από Erevis » 11 Φεβ 2010 19:18

Επίσης, καλύτερο θα ήταν να περνάς το μέγεθος του πίνακα παραμετρικά στη συνάρτηση, για να μπορείς να τη χρησιμοποιήσεις με πίνακες διαφορετικού μεγέθους. Άλλωστε αυτος είναι ένας από τους σκοπούς ύπαρξης των συναρτήσεων, code reuse :P

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από Alice_Cooper » 11 Φεβ 2010 20:27

vre paidia ...
o anthropos leei to proto tou prog ...
o virxen75 epiase to noima kai apla voithise
o marios ithele malon apla na diksei oti mporei na to kanei
kai o Erevis thelei na ton mplokarei :p

Erevis
Δημοσιεύσεις: 56
Εγγραφή: 12 Ιουν 2008 16:31
Τοποθεσία: Χαλάνδρι

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από Erevis » 11 Φεβ 2010 21:14

To να σε μπλοκάρουν καμια φορά είναι καλό, γιατί σε βάζει στο τρυπάκι να ψάξεις παραπάνω απ'οσο βλέπεις. Βέβαια είναι ανάλογα το άτομο :P

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από Christianago » 18 Φεβ 2010 02:34

Η λυση που εγραψε ο marios ειναι αριστοποιημενη;
Ευχαριστω παντως

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από dva_dev » 18 Φεβ 2010 16:10

Η λυση που εγραψε ο marios ειναι αριστοποιημενη;
Οχι.
Erevis έγραψε:καλύτερο θα ήταν να περνάς το μέγεθος του πίνακα παραμετρικά στη συνάρτηση, για να μπορείς να τη χρησιμοποιήσεις με πίνακες διαφορετικού μεγέθους.

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από mariosal » 01 Μαρ 2010 15:27

Άλλαξα τον κώδικα που είχα γράψει.

Δε χρειάζεται να περνάς περιμετρικά το μέγεθος του πίνακα, υπάρχει η συνάρτηση sizeof( ) ώστε να πάρεις το μέγεθος του πίνακα

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από dva_dev » 01 Μαρ 2010 16:23

Μπορείς να γράψεις ένα παράδειγμα περνώντας παραμετρικά ένα πίνακα και παίρνοντας το μέγεθος του με sizeof, για να καταλάβουμε πως το κάνεις;

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από mariosal » 01 Μαρ 2010 16:32

Δες τον αρχικό μου κώδικα, παίρνω το μέγεθος του πίνακα με τη βοήθεια της sizeof( )

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από dva_dev » 01 Μαρ 2010 18:35

Δεν έπρεπε να διορθώσεις τον παλιό κώδικα γιατί δεν βγαίνει νόημα στη συζήτηση. Επρεπε μάλλον να βάλεις στη συνέχεια της συζήτησης τοναλλαγμένο κώδικα σου, ώστε κάποιος που διαβάζει όλο το θέμα να μπορεί να το παρακολουθήσει.

Στη θέση σου θα εκτύπωνα το μέγεθος που έχω υπολογίσει με τη sizeof μέσα στη sum για να είμαι σίγουρος ότι είναι σωστός ο κώδικας.

Erevis
Δημοσιεύσεις: 56
Εγγραφή: 12 Ιουν 2008 16:31
Τοποθεσία: Χαλάνδρι

Το πρώτο μου πρόγραμμα σε C++ :D

Δημοσίευση από Erevis » 01 Μαρ 2010 19:38

Ο sizeof σου δίνει το μέγεθος του pointer στον οποίο έχει περάσει η πρώτη διεύθυνση του πίνακα.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες