Δευτεροβαθμια εξισωση c++

...IDE, compilers, κλπ

Συντονιστής: konnn

Δευτεροβαθμια εξισωση c++

Δημοσίευσηαπό jemadux » 03 Δεκ 2009, 12:22

εκανα ενα προγραμματακι για δευτεροβαθμια εξισωση

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

#include <cstdio>
#include <cstdlib>
#include <iostream>

using namespace std;

int main ()
{
//?edw grafete o kwdikas C++
int a , b , c ,d ,k , x1 ,x2 ,x0;
cout <<"Epilish deyterobathmias exiswsshs\n";
cout <<" Dwse a , b ,c /n";
cin >> a >>b >>c ;
d ==b*b-2ac;
k*k==d ;
{if (k>0)
x1==-b/2a+k/2a;
x2==-b/2a-k/2a;
cout << "Exei dio liseis i e3iswsh\n";
cout << "prwth lysh "<< x1 <<"/n";
cout << "deyterh lysh "<< x2 <<"\n";
if (k==0)
cout << "Tote i exiswsh exei mia lish\t" << x0 ;
else
cout << "Den exei lish stoys pragmatikoys arithmoys\n";
}

system ("pause");
return 0;
}


ειναι ενταξει γιατι τωρα δεν ειμαι στον η/υ και πως θα το τρεξω στο ubuntu ?
1 Γνώσεις Linux: ✅✅✅✔️✔️ ┃ Προγραμματισμού: ✔️✔️✔️✔️✔️ ┃ Αγγλικών: ✅✅✅✔️✔️
2 Debian Stable (en_US.UTF-8)
3 AMD Ryzen 5 2500U Radeon Vega Mobile Gfx ‖ RAM 16MiB ‖ Dell Inspiron 3585
4 Radeon Vega Mobile Gfx
5 Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter
Άβαταρ μέλους
jemadux
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 841
Εγγραφή: 27 Σεπ 2009, 19:39
Τοποθεσία: /dev/null
IRC: jemadux
Εκτύπωση

Re: Δευτεροβαθμια εξισωση c++

Δημοσίευσηαπό sokoban4ever » 03 Δεκ 2009, 14:34

@usernameKG
Νομίζω αυτά χρειάζονται τον τελεστή ανάθεσης = όχι σύγκρισης ==
και τελεστές πράξεων πχ * για πολλαπλασιασμό κλπ
Κώδικας: Επιλογή όλων
d ==b*b-2ac;
x1==-b/2a+k/2a;
x2==-b/2a-k/2a;

και οπωσδήποτε παρενθέσεις :!: ώστε να ξέρει ο compiler τι πράξη να κάνει πρώτα ...,
αλλά και για να φαίνονται ξεκάθαρα οι πράξεις
παίζει να έχει και άλλα σφάλματα... θα δείξει...

Πρέπει να το κάνεις compile πρώτα για να το τρέξεις
Κώδικας: Επιλογή όλων
g++ arxeio.cpp -Wall -o onomaprogrammatos

μετά το τρέχεις έτσι
Κώδικας: Επιλογή όλων
./onomaprogrammatos
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Re: Δευτεροβαθμια εξισωση c++

Δημοσίευσηαπό Teddy » 03 Δεκ 2009, 15:14

Να ρωτήσω κάτι, το σωστό δεν είναι b*b-4ac ?
Γνώσεις ⇛ Linux: Οι φίλοι μου λένε οτι ξέρω ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Μονομαχος Lite
Προδιαγραφές ⇛ AMD Athlon Dual Core Processor 4850e (στα 2,5Ghz) │ RAM 4GB │ ΑΤΙ HD3650 │ M-Audio Audiophile 2496 │ TFT 22" 1680x1050 │
Teddy
babeTUX
babeTUX
 
Δημοσιεύσεις: 26
Εγγραφή: 19 Νοέμ 2009, 22:27
Εκτύπωση

Re: Δευτεροβαθμια εξισωση c++

Δημοσίευσηαπό jemadux » 03 Δεκ 2009, 15:16

Teddy έγραψε:Να ρωτήσω κάτι, το σωστό δεν είναι b*b-4ac ?

εχεις δικιο...βιαζομουνα και για αυτο
1 Γνώσεις Linux: ✅✅✅✔️✔️ ┃ Προγραμματισμού: ✔️✔️✔️✔️✔️ ┃ Αγγλικών: ✅✅✅✔️✔️
2 Debian Stable (en_US.UTF-8)
3 AMD Ryzen 5 2500U Radeon Vega Mobile Gfx ‖ RAM 16MiB ‖ Dell Inspiron 3585
4 Radeon Vega Mobile Gfx
5 Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter
Άβαταρ μέλους
jemadux
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 841
Εγγραφή: 27 Σεπ 2009, 19:39
Τοποθεσία: /dev/null
IRC: jemadux
Εκτύπωση

Re: Δευτεροβαθμια εξισωση c++

Δημοσίευσηαπό sokoban4ever » 03 Δεκ 2009, 18:24

Σορρυ που επιμένω αλλά το statement
Κώδικας: Επιλογή όλων
d ==b*b-2ac;

τι νόημα έχει ? :crazy:
:think:
1)χωρίς το σύμβολο * μετά το 2 και το a πως θα ξέρει ότι θέλεις να κάνεις πολλαπλασιασμό
τα νύχια του θα μυρίσει ο compiler?
2)χωρίς παρένθεση πως θα ξέρει άν θέλεις να πολλαπλασιάσεις το b με το b και μετά να αφαιρέσεις με το διπλάσιο του γινομένου του a και β
ή το b με το αποτέλεσμα της αφαίρεσης b -2ac.
3)χωρίς τον τελεστή ανάθεσης το d θα είναι πάντα boolean (true ή false) και όχι το αριθμητικό αποτέλεσμα της εξίσωσης

ορίστε τι λέει και ο compiler
Κώδικας: Επιλογή όλων
asdf.cpp:14:17: error: invalid suffix "ac" on integer constant
asdf.cpp:17:21: error: invalid suffix "a" on integer constant
asdf.cpp:17:26: error: invalid suffix "a" on integer constant
asdf.cpp:18:21: error: invalid suffix "a" on integer constant
asdf.cpp:18:26: error: invalid suffix "a" on integer constant


τα υπόλοιπα δεν τα βλέπει ως λάθη καθώς δεν είναι συντακτικά αλλά εννοιολογικά

Μήπως ήθελες να το κάνεις έτσι
Κώδικας: Επιλογή όλων
d = b*b-2*a*c;

ή έτσι
Κώδικας: Επιλογή όλων
d = b*(b-2*a*c);

:think:
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Re: Δευτεροβαθμια εξισωση c++

Δημοσίευσηαπό kalakouentin » 05 Δεκ 2009, 23:07

Σόρρυ αλλά τώρα κάθησα να δω λίγο αυτόν τον κώδικα.
Κώδικας: Επιλογή όλων
k*k==d ;
?
Ακόμα και με απλή εκχώρηση τιμής πάλι είναι λάθος...
Πρέπει να χρησιμοποιείς την cmath για να βρεις την ρίζα. ΠΟΤΕ δε θα δουλέψει αυτό το πράγμα έτσι.
Κώδικας: Επιλογή όλων
#include <cmath>

Κώδικας: Επιλογή όλων
k= sqrt(d);


Επίσης που τελειώνουν και πού αρχίζουν οι if statements σου. Η 2η if statement είναι μέσα στην πρώτη. Κοίταξε πώς να χρησιμοποιήσεις την if-else. Tέλος αν θες να αρχίζεις να παίζεις με φανταστικές ρίζες πρέπει να βάλεις και άλλες βιβλιοθήκες μέσα ( complex.h ). Προφανώς όταν θα πας να χρησιμοποιήσεις την sqrt με αρνητική τιμή δε θα σου επιστρέψει "κανένα" αποτέλεσμα.

(Ισχύει ακόμη πάντα αυτό που λένε οι προηγούμενοι χρήστες περί χρήση παρενθέσεων και το διαχωρισμό τελεστών εκχώρησης τιμής και σύγκρισης. Το 4ac είναι η μεταβλητή "4ac" και δεν έχει καμία σχέση με το "4*a*c".)

Τα λάθη σου είναι βασικά λάθη σύνταξης κώδικα, δεν είναι καν κακές τεχνικές. Ούτε με απλή cout δε θα λειτουργούσαν αυτά. Ακολούθησε πιστά ένα από τα μυριάδες tutorial για C++ στο Internet και θα ακολουθήσεις το σωστό δρόμο εύκολα. Κάθε αρχή και δύσκολη αλλά don't worry. Η C++ είναι μακράν η πιο kewl γλώσσα (μετά την Haskell) για να γράφεις κώδικα, είσαι ήδη στο σωστό μονοπάτι!

υγ. μα τον Δία "\n"? Μία κακομοίρα "<< endl" ρε άρχοντα. Σε C++ γράφεις όχι σε C. Είπαμε, μοιάζουν αλλά εσύ το παράκανες.
Εικόνα
Γνώσεις ⇛ Linux: Συμπαθητικές ┃ Προγραμματισμός: Συμπαθητικότερες ┃ Αγγλικά: Αστέρι
Λειτουργικό ⇛ Ubuntu 10.04 32bit σε HP nw9440 ┃ Ubuntu 10.04 32bit σε Toshiba Satellite U400┃ SLED 11 64bit σε Dell OptiPlex 780
kalakouentin
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 545
Εγγραφή: 05 Ιούλ 2008, 05:50
Εκτύπωση

Re: Δευτεροβαθμια εξισωση c++

Δημοσίευσηαπό jemadux » 06 Δεκ 2009, 00:31

ευχαριστω πολυ μαστορα .... αλλα θα κανω μια επισημανση



kalakouentin έγραψε:

υγ. μα τον Δία "\n"? Μία κακομοίρα "<< endl" ρε άρχοντα. Σε C++ γράφεις όχι σε C. Είπαμε, μοιάζουν αλλά εσύ το παράκανες.



στην σχολη μου στην dev c++ ειτε το βαλω endl ειτε "\n" το ιδιο μου βγαζει
1 Γνώσεις Linux: ✅✅✅✔️✔️ ┃ Προγραμματισμού: ✔️✔️✔️✔️✔️ ┃ Αγγλικών: ✅✅✅✔️✔️
2 Debian Stable (en_US.UTF-8)
3 AMD Ryzen 5 2500U Radeon Vega Mobile Gfx ‖ RAM 16MiB ‖ Dell Inspiron 3585
4 Radeon Vega Mobile Gfx
5 Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter
Άβαταρ μέλους
jemadux
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 841
Εγγραφή: 27 Σεπ 2009, 19:39
Τοποθεσία: /dev/null
IRC: jemadux
Εκτύπωση

Re: Δευτεροβαθμια εξισωση c++

Δημοσίευσηαπό kalakouentin » 06 Δεκ 2009, 01:01

Nτάξει το ίδιο βγάζει. αλλά είναι λίγο _τελείως_ κατάλοιπο από την C. Δεν είναι τόσο λάθος, όσο κάπως οξύμωρο. Ο κώδικας σου θα μοιάζει πιο πολύ με C99 παρά με C++ :P . Το standard είναι το endl γενικά. Αλλά ΟΚ, κράτα το αν σε βολεύει. Ψιλά γράμματα σε σχέση με άλλα σημεία που εγέρθηκαν σχετικά με το πρόγραμμα.

Off topic:
To Dev C++ είναι εξαιρετικό IDE για αρχάριους αλλά ίσως θα σε βόλευε λίγο παραπάνω να αρχίσεις να χρησιμοποιείς κάποιο από τα geany, netbeans ή Codeblocks. Το DevC++ έχει σταματήσει να ανανεώνεται εδώ και χρόνια και μερικές φορές στα Windows κράσαρε χωρίς λόγο σε κάπως μεγαλύτερα προγράμματα. Και το Geany και το Codeblocks είναι πολύ εύκολα για τον αρχάριο χρήστη και δε χάνεις τίποτα από λειτουργικότητα (Και αν είσαι σε σχολή πληροφορικής θα σε συμβούλευα να επενδύσεις κάποιο χρόνο για τo NetBeans ή το Eclipse θα αποζημιωθείς σε βάθος χρόνου. -από τα 2 τελευταία ΥΠΟΚΕΙΜΕΝΙΚΑ το NetBeans μου φαίνεται ευκολότερο στη χρήση)
Εικόνα
Γνώσεις ⇛ Linux: Συμπαθητικές ┃ Προγραμματισμός: Συμπαθητικότερες ┃ Αγγλικά: Αστέρι
Λειτουργικό ⇛ Ubuntu 10.04 32bit σε HP nw9440 ┃ Ubuntu 10.04 32bit σε Toshiba Satellite U400┃ SLED 11 64bit σε Dell OptiPlex 780
kalakouentin
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 545
Εγγραφή: 05 Ιούλ 2008, 05:50
Εκτύπωση

Re: Δευτεροβαθμια εξισωση c++

Δημοσίευσηαπό jemadux » 06 Δεκ 2009, 11:52

kalakouentin έγραψε:Nτάξει το ίδιο βγάζει. αλλά είναι λίγο _τελείως_ κατάλοιπο από την C. Δεν είναι τόσο λάθος, όσο κάπως οξύμωρο. Ο κώδικας σου θα μοιάζει πιο πολύ με C99 παρά με C++ :P . Το standard είναι το endl γενικά. Αλλά ΟΚ, κράτα το αν σε βολεύει. Ψιλά γράμματα σε σχέση με άλλα σημεία που εγέρθηκαν σχετικά με το πρόγραμμα.

Off topic:
To Dev C++ είναι εξαιρετικό IDE για αρχάριους αλλά ίσως θα σε βόλευε λίγο παραπάνω να αρχίσεις να χρησιμοποιείς κάποιο από τα geany, netbeans ή Codeblocks. Το DevC++ έχει σταματήσει να ανανεώνεται εδώ και χρόνια και μερικές φορές στα Windows κράσαρε χωρίς λόγο σε κάπως μεγαλύτερα προγράμματα. Και το Geany και το Codeblocks είναι πολύ εύκολα για τον αρχάριο χρήστη και δε χάνεις τίποτα από λειτουργικότητα (Και αν είσαι σε σχολή πληροφορικής θα σε συμβούλευα να επενδύσεις κάποιο χρόνο για τo NetBeans ή το Eclipse θα αποζημιωθείς σε βάθος χρόνου. -από τα 2 τελευταία ΥΠΟΚΕΙΜΕΝΙΚΑ το NetBeans μου φαίνεται ευκολότερο στη χρήση)

Off topic:
τι να κανω που στην σχολη εχουν μονο dev-C++και καθολου linux ? :wtf:
1 Γνώσεις Linux: ✅✅✅✔️✔️ ┃ Προγραμματισμού: ✔️✔️✔️✔️✔️ ┃ Αγγλικών: ✅✅✅✔️✔️
2 Debian Stable (en_US.UTF-8)
3 AMD Ryzen 5 2500U Radeon Vega Mobile Gfx ‖ RAM 16MiB ‖ Dell Inspiron 3585
4 Radeon Vega Mobile Gfx
5 Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter
Άβαταρ μέλους
jemadux
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 841
Εγγραφή: 27 Σεπ 2009, 19:39
Τοποθεσία: /dev/null
IRC: jemadux
Εκτύπωση

Re: Δευτεροβαθμια εξισωση c++

Δημοσίευσηαπό sokoban4ever » 06 Δεκ 2009, 12:38

Off topic:
@usernameKG
Το dev-C++ μπορεί και χρησιμοποιεί τον compiler μέσω του cygwin
αν όντως το χρησιμοποιεί μπορεί να έχεις πρόσβαση και σε shell που τρέχει στα windows και κάνει σχεδόν όσα κάνει και το bash shell στο linux
θα μπορείς πχ να κάνεις compile τα αρχεία κατευθείαν από τον compiler

Αν έχουν το java runtime enviroment στην σχολή σου εγκατεστημένο
νομίζω μπορείς να το εκτελέσεις τουλάχιστον το eclipse
και το Netbeans παίζει να μπορείς ... αλλά εξαρτάται πόσο αυστηρό είναι τα policy του administrator στα computers σας
πόσο δύσκολα δηλαδή μπορεί να εγκαταστήσεις προγράμματα ( μπορείς να τρέξεις οποιαδίποτε valid πρόγραμμα , μπορείς να γράψεις στην registry των windows κλπ )...
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση


Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού