Προγραμματισμός σε C++

Τώρα δουλεύει αλλά δεν κατάλαβα ακριβώς πως λειτουργεί αυτό
else
{
if(MaxProductSum(Array,Dim,sum,product)==1)
return 1
else
return -1
}
μπόρεις να το εξηγήσεις λίγο;

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Τώρα δουλεύει αλλά δεν κατάλαβα ακριβώς πως λειτουργεί αυτό
else
{
if(MaxProductSum(Array,Dim,sum,product)==1)
return 1
else
return -1
}
μπόρεις να το εξηγήσεις λίγο;

Οταν το dim γίνει 0 θα επιστρεψει 1 ή -1 στην προηγούμενη συνάρτηση που το dim ήταν 1.Αν επεστρεψε 1 τότε και αυτή θα επιστρέψει 1 στην συνάρτηση που το dim ήταν 2 αλλιώς -1. . . μέχρι να φτάσει στην πρώτη συνάρτηση και να το επιστρέψει στην main.
Το προηγούμενο ήταν λάθος γιατι δεν επεστρεφε τίποτα στην main το μόνο return γινότανε στην τελευταία συνάρτηση με dim 0.

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Ευχαριστώ πολύ όλους για την βοήθεια!!!!!!!!!!!!!

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
γειαα χαράα
χτες το βράδυ ξεκίνησα να μαθαίνω c++ και επείδη γνωρίζω τα βασικά απο python

σκέφτηκα να φτιάξω ενα πρόγραμμα που να λύνει β' βαθμου εξίσώσεις..
κολλάω όμως στην διακρινουσα που την βγάζει λάθος..

τι κανω λαθος?
{
int a;
int b;
int c;
int D;


cout<<"dwse suntelesti x st tetragwno :";
cin>> a;

cout<<"dwse sintelesti x :";
cin>> b;

cout<<"dwse stathero oro :";
cin>> c;
D = (b^2)-(4*(a*c));
cout << "D= " <<D ;


}

εδώ ειναι ο κώδικας μου... :/:hmm:

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Γιατί τι σφάλμα σου βγάζει; Λογικά θα έχεις κανά πρόβλημα με βιβλιοθήκες, κάτι θα έχεις παραλείψει. Τι error σου βγαίνει;

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Στην αρχη εχεις βαλει #include<iostream> και using namespace std; ;;;

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Χωρίς να γνωρίζω C++ (ξέρω μόνο C) με μια πρόχειρη ματιά βλέπω λάθος στον αλγόριθμο.
Anyway, δε λύνεται έτσι η 2βάθμια εξίσωση.
Δες wikipedia

Χρειάζεσαι ελέγχους(π.χ. αν α==0 && β!=0 τότε έχεις να λύσεις τη 1βάθμια κλπ.)
Δες το ξανά και αν θες κι άλλη βοήθεια let us know
Ελπίζω να μη σε μπέρδεψα περισσότερο :)

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Τελευταία επεξεργασία:
Εμμα εχεις δικιο..Το παραπανω δεν λυνει ολες τις δευτεροβαθμιες εξισωσεις...Δεν ειναι ομως λογος αυτος να μην δεχεται τα a,b,c και να κανει απλα καποιες πραξεις... Δεν βλεπω καποιο σφαλμα στο παραπανω , εκτος απο τις πιθανες παραληψεις που ενδεχεται να εχει ως προς το header που χρειαζεται

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
οχι παιδιά...δεν έχει σφάλμα ο κώδικας.Τον δέχεται..απλα την διακρινούσα την βγάζει λάθος...:/

έμμα..το ξέρω οτι χρειάζεται περιπτώσεις κλπ..
Μέχρι στιγμής όμως την διακρινούσα θα έπρεπε να την βγάζει...

αυτό ειναι το θέμα μου....

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
επίσης, υπολογισμός δυνάμεων α^ν στη C δεν υπολογίζεται με το ^
αλλά με άλλο τρόπο που δεν έχει νόημα να σου δείξω αφού είσαι σε C++.
(έχω κάποιον πρόχειρο κώδικα σε C οπότε αν σε βοηθήσει πες μου να τον παραθέσω)

Δε ξέρω, για δείτε το εσείς που ξέρετε C++ μήπως φταίει αυτό.

PS. Βρε μήπως να μάθαινες C? Huhuhu! :D

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
επίσης, υπολογισμός δυνάμεων α^ν στη C δεν υπολογίζεται με το ^
αλλά με άλλο τρόπο που δεν έχει νόημα να σου δείξω αφού είσαι σε C++.
(έχω κάποιον πρόχειρο κώδικα σε C οπότε αν σε βοηθήσει πες μου να τον παραθέσω)

Δε ξέρω, για δείτε το εσείς που ξέρετε C++ μήπως φταίει αυτό.

PS. Βρε μήπως να μάθαινες C? Huhuhu! :D

emma δεν ξέρω..να μάθω c? ειναι πιο έυκολη?
απο python εχω ξεκινήσει...

δεν ξέρω αν θα βοηθήσει...μιας που χτες ξεκίνησα την C++
αλλα δεν νομίζω να είμαι σε θέση να διαβάζω κώδικα :P

ευχαριστώ πάντως...:)

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
-Για γύρνα τις μεταβλητές σου σε πραγματικές.

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
αλλα δεν νομίζω να είμαι σε θέση να διαβάζω κώδικα :P
Αν ο κώδικας είναι γάμησέ τα ή χωρίς σχόλια, κανείς δεν μπορεί. Ούτε καν εγώ.
picture.php


Κατ' αρχάς άλλαξε τις μεταβλητές σε πραγματικές. Επίσης ρε παιδιά τι παλεύετε να βρείτε με ποια συνάρτηση υπολογίζεται η δύναμη; :P Think simple, αντικατέστησε το b^2 με b*b ..... :mastigio

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
lol, εχει δικιο η Εμμα.
Χαλαρα θα προτεινα κι εγω πρωτα C.
Για δες αυτο και προσππαθησε να καταλαβεις τι γινεται.
Code:
#include<iostream>
using namespace std;
int mysquare(int x)
{
return x*x;
 }
int main()
{
int a,b,c,D;
cout<<" Eishgage syntelesth toy x^2 : " ;
cin>>a;
cout<<"  Eishgage syntelesth toy x: ";
cin>>b;
cout<<" Eishgage enan aithmo : ";
cin>>c;
 D=mysquare(b)-4*a*c;
cout<<" H diakrinousa D tpu triwnymou einai : "<<D<<endl;
return 0;
}
:)

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
βασικά..χωρίς να κάνω πραγματικές τις μεταβλητές..
εκανα αυτο που ειπε ο γιώργος D= (b*b)-4*(a*c).
και βγαίνει σωστά...

@g1wrg0s νομίζω οτι ττον καταλαβαίνω τον κώδικα που μου παρέθεσες... :P

αυτό που δεν καταλαβα ...(και απο τα τουτοριαλς που βλεπω δεν κατάλαβα ειναι..γιατι η "main()"
μπαίνει εκει..
επίσης παιζει ρόλο αν θα την καταχωρησω ως main() ή int main?

να ρωτήσω γιατι να ξεκίνησω με C? :P

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
H main() είναι η κεντρική συνάρτηση του προγράμματος σου και οι αγκύλες απο κάτω της οριοθετούν το σώμα της.Με λίγα λόγια η main είναι η πρώτη συνάρτηση που θα ‘ψάξει‘ ο compiler για να μεταφράσει της εντολές που βρίσκοντε στο σώμα της.Κάθε πρόγραμμα C/C++ έχει την main και όλα αρχίζουν απο αυτήν.

Το int μπροστά απο την main δηλώνει πως η main() θα επιστρέψει στο σύστημα έαν ακέραιο αριθμό(integer) π.χ. ο Γιώργης Χατζηπαυλομαραγκάκης 0 3ος επιστρέφει 0 που σημαίνει πως όλα πήγαν καλά.(μην σε απασχολουν τώρα αυτά θα μάθεις μετά για τις συναρτήσεις.)

να ρωτήσω γιατι να ξεκίνησω με C? :P

Αν έχεις πάει σε ικανοποιητικό επίπεδο την python δεν υπάρχει λόγος να δεις πρώτα C διαφορετικά δες πρώτα C γιατι είναι πιο εύκολη και αν την μάθεις καλά θα μάθεις και C++ ευκολότερα.

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Επίσης ρε παιδιά τι παλεύετε να βρείτε με ποια συνάρτηση υπολογίζεται η δύναμη; :P Think simple, αντικατέστησε το b^2 με b*b ..... :mastigio

σιγά ρε Τζορτζ, μας την είπες τώρα και μας μαστιγώνεις κιόλας λες και δε το ξέραμε :P(:flowers:)
εγώ είπα να μάθει γενικά το τρόπο γιατί προφανώς θα του χρειαστεί στη συνέχεια
και δεν είναι κάτι δύσκολο, μάλιστα θα έλεγα πως είναι και καλό practice :D

καλή συνέχεια στην εκμάθηση kiriazispao4ever

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
βασικά..χωρίς να κάνω πραγματικές τις μεταβλητές..
Αν χρησιμοποιείς μόνο ακεραίους, πράγματι δεν χρειάζεσαι πραγματικές, εφόσον δεν τραβάς διαιρέσεις ή ρίζες. Ωστόσο, καλό είναι να τα κάνεις, για λόγους πληρότητας - μιας και οι συντελεστές μπορούν να είναι εν γένει και πραγματικοί.

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
H main() είναι η κεντρική συνάρτηση του προγράμματος σου και οι αγκύλες απο κάτω της οριοθετούν το σώμα της.Με λίγα λόγια η main είναι η πρώτη συνάρτηση που θα ‘ψάξει‘ ο compiler για να μεταφράσει της εντολές που βρίσκοντε στο σώμα της.Κάθε πρόγραμμα C/C++ έχει την main και όλα αρχίζουν απο αυτήν.

Το int μπροστά απο την main δηλώνει πως η main() θα επιστρέψει στο σύστημα έαν ακέραιο αριθμό(integer) π.χ. ο Γιώργης Χατζηπαυλομαραγκάκης 0 3ος επιστρέφει 0 που σημαίνει πως όλα πήγαν καλά.(μην σε απασχολουν τώρα αυτά θα μάθεις μετά για τις συναρτήσεις.)



Αν έχεις πάει σε ικανοποιητικό επίπεδο την python δεν υπάρχει λόγος να δεις πρώτα C διαφορετικά δες πρώτα C γιατι είναι πιο εύκολη και αν την μάθεις καλά θα μάθεις και C++ ευκολότερα.

ευχαριστώ πολύ.. δεν νομίζω να έχω φτάσει σε ικανοποιητικό επίπεδο.. :P ξέρω κάποια βασικά:P
ευχαριστώ πάντως..θα δείξει..τώρα που ξεκίνησα με C++ και βρήκα και ενα βιβλίο ..δύσκολα θα την αλλάξω :P

σιγά ρε Τζορτζ, μας την είπες τώρα και μας μαστιγώνεις κιόλας λες και δε το ξέραμε :P(:flowers:)
εγώ είπα να μάθει γενικά το τρόπο γιατί προφανώς θα του χρειαστεί στη συνέχεια
και δεν είναι κάτι δύσκολο, μάλιστα θα έλεγα πως είναι και καλό practice :D

καλή συνέχεια στην εκμάθηση kiriazispao4ever
σε ευχαριστώ... :D

Αν χρησιμοποιείς μόνο ακεραίους, πράγματι δεν χρειάζεσαι πραγματικές, εφόσον δεν τραβάς διαιρέσεις ή ρίζες. Ωστόσο, καλό είναι να τα κάνεις, για λόγους πληρότητας - μιας και οι συντελεστές μπορούν να είναι εν γένει και πραγματικοί.

με "double" δεν δηλώνονται οι πραγματικοί..

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
με "double" δεν δηλώνονται οι πραγματικοί..
Ρωτάς ή δηλώνεις; :P

Με float ή double, ανάλογα τι "ακρίβεια" θες. :)

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 

Χρήστες Βρείτε παρόμοια

  • Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:
    Tα παρακάτω 5 μέλη διάβασαν αυτό το θέμα:
  • Φορτώνει...
Back
Top