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

Black_Butterfly

Πολύ δραστήριο μέλος

Η Αλεξάνδρα αυτή τη στιγμή δεν είναι συνδεδεμένη. Επαγγέλεται Φοιτητής/τρια και μας γράφει απο Ηράκλειο (Κρήτη). Έχει γράψει 1,327 μηνύματα.
εγώ είχα παιδευτεί πολύ με guides,video tuts στην αρχή...αλλά κατάλαβα ότι μόνο με βιβλίο μπορείς να μάθεις σωστά...πάντως και αυτό μπορεί να είναι χρήσιμο https://www.cprogramming.com/

@kiriazispao4ever εννοείται..δώσε βάση στο σχολείο και c++ στον ελεύθερο χρόνο σου :P

Εμένα το βιβλίο -- και ειδικά του Stroustrup (είναι αυτός που δημιούργησε την C++) με δυσκολεύει ΠΑΡΑ πολύ για την εκμάθηση κάποια γλώσσας προγραμματισμού.

Εγώ θα πρότεινα σημειώσεις πανεπιστημίων. Κάνε ένα search στα πανεπιστήμια που προσφέρουν C++, ξέρω σίγουρα ότι έχει το ΕΚΠΑ. Δυστυχώς εμάς ο καθηγητής τα έχει κρυφά στο φορουμ τα ppt. :P
Όπως επίσης για τυχών δυσκολίες υπάρχουν ΠΑΡΑ ΠΟΛΛΑ σαιτ, google it!

Αυτό με βοηθησε ΠΑΡΑ ΠΟΛΥ, όσο παρακολουθούσα το μάθημα: https://www.cplusplus.com/
 

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

Πληροφορικάριος

Δραστήριο μέλος

Ο Πληροφορικάριος αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Αθήνα (Αττική). Έχει γράψει 623 μηνύματα.
Του Stroustrup είναι ανώτερου επιπέδου και καλύτερα να το δεί κάποιος σαν δεύτερο βιβλίο.Το ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ C++ είναι πολύ καλό αλλα αρκετά ακριβό.
 

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

kiriazispao4ever

Δραστήριο μέλος

Ο kiriazispao4ever αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 29 ετών. Έχει γράψει 526 μηνύματα.
θα ηθελα να φτιάξω ένα προγραμμα που να ζηταει ακέραιους και στη συνέχεια ο χρήστης θα εισάγει τους αριθμούς και το πρόγραμμα θα βρίσκει τον μέγιστο και ελάχιστο και θα τους εκτυπώνει στην οθόνη...

βρήκα μια λύση..αλλα δεν την πολυκατάλαβα..θα μπορούσε να μου παραθέσει κάποιος μια δική του λύση επεξηγώντας σε καθε βήμα τι κάνει?
 

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

g1wrg0s

Επιφανές μέλος

Ο 01001 αυτή τη στιγμή δεν είναι συνδεδεμένος. Επαγγέλεται Φοιτητής/τρια. Έχει γράψει 9,074 μηνύματα.
Χτισε το προγραμμα. Ξεκινα απο μια for για παραδειγμα και φτιαχνε το μεχρι να ερθει στη μορφη που θελεις .

Δεν νομιζω να κατσει καποιος να σου γραψει κωδικα -αν και το προβλημα που θες να επιλυσεις δεν απαιτει τεραστιο ογκο κωδικα- και να στο εξηγησει. Κι αυτο οχι γιατι δεν υπαρχει θεληση αλλα γιατι θα σου προσφερει ελαχιστα σε σχεση με το να το φας στη μαπα (μιλωντας εκλαικευμενα) και να το διορθωνεις - αναπτυσεις βημα βημα.

Αν θες κατι το οποιο το εχεις δει και το εχεις ξαναδει και δεν το καταλαβαινεις, τοτε να στο εξηγησει καποιος ωστε να προχωρησεις αλλα αυτο ειναι διαφορετικο απο αυτο που ζητας.

:)
 

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

kiriazispao4ever

Δραστήριο μέλος

Ο kiriazispao4ever αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 29 ετών. Έχει γράψει 526 μηνύματα.
Χτισε το προγραμμα. Ξεκινα απο μια for για παραδειγμα και φτιαχνε το μεχρι να ερθει στη μορφη που θελεις .

Δεν νομιζω να κατσει καποιος να σου γραψει κωδικα -αν και το προβλημα που θες να επιλυσεις δεν απαιτει τεραστιο ογκο κωδικα- και να στο εξηγησει. Κι αυτο οχι γιατι δεν υπαρχει θεληση αλλα γιατι θα σου προσφερει ελαχιστα σε σχεση με το να το φας στη μαπα (μιλωντας εκλαικευμενα) και να το διορθωνεις - αναπτυσεις βημα βημα.

Αν θες κατι το οποιο το εχεις δει και το εχεις ξαναδει και δεν το καταλαβαινεις, τοτε να στο εξηγησει καποιος ωστε να προχωρησεις αλλα αυτο ειναι διαφορετικο απο αυτο που ζητας.

:)

χμμ...μάλιστα...
ευχαριστώ.
 

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

infinity

Εκκολαπτόμενο μέλος

Ο Παναγιώτης αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 190 μηνύματα.
θα ηθελα να φτιάξω ένα προγραμμα που να ζηταει ακέραιους και στη συνέχεια ο χρήστης θα εισάγει τους αριθμούς και το πρόγραμμα θα βρίσκει τον μέγιστο και ελάχιστο και θα τους εκτυπώνει στην οθόνη...

βρήκα μια λύση..αλλα δεν την πολυκατάλαβα..θα μπορούσε να μου παραθέσει κάποιος μια δική του λύση επεξηγώντας σε καθε βήμα τι κάνει?

υπάρχουν δύο τρόποι να το πετύχεις αυτό, μάλλον θα το έχεις καταφέρει μέχρι τώρα, αλλά τέλος πάντων.
Ο ένας τρόπος είναι ο εξαντλητικός, ελέγχεις όλα με όλα, το πρόγραμμά σου θα εκτελέσει Ν^2 επαναλήψεις στην χειρότερη περίπτωση.
Ο άλλος τρόπος είναι λίγο πιο έξυπνος και πολύ πιο αποτελεσματικος, απλά αρχίζεις με αρχική τιμή μεγαλύτερου αριθμού ίση με -οο και σκανάρεις διαδοχικά τον πίνακά σου, αν ένα στοιχείο είναι μεγαλύτερο από τον μέχρι στιγμής μεγαλύτερο αριθμό, τότε γίνεται ο μέχρι στιγμής μεγαλύτερος αριθμός, στο τέλος θα έχεις καταλήξει στον μεγαλύτερο ενώ το πρόγραμμά σου θα έχει εκτελέσει Ν επαναλήψεις.

Άμα και αν φτιάξεις οποιοδήποτε από τα δύο ανέβασε το...
 

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

infinity

Εκκολαπτόμενο μέλος

Ο Παναγιώτης αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 190 μηνύματα.
Χτισε το προγραμμα. Ξεκινα απο μια for για παραδειγμα και φτιαχνε το μεχρι να ερθει στη μορφη που θελεις .

Δεν νομιζω να κατσει καποιος να σου γραψει κωδικα -αν και το προβλημα που θες να επιλυσεις δεν απαιτει τεραστιο ογκο κωδικα- και να στο εξηγησει. Κι αυτο οχι γιατι δεν υπαρχει θεληση αλλα γιατι θα σου προσφερει ελαχιστα σε σχεση με το να το φας στη μαπα (μιλωντας εκλαικευμενα) και να το διορθωνεις - αναπτυσεις βημα βημα.

Αν θες κατι το οποιο το εχεις δει και το εχεις ξαναδει και δεν το καταλαβαινεις, τοτε να στο εξηγησει καποιος ωστε να προχωρησεις αλλα αυτο ειναι διαφορετικο απο αυτο που ζητας.

:)

Εγώ από την άλλη πιστεύω ότι καλό είναι να μάθεις κάποια πράγματα (θεωρητικά κυρίως) πριν αρχίσεις να τα φτιάχνεις στο ντούκου.Δηλαδή,τι προτίνεις? να φάει το κεφάλι του για να φτιάξει κάτι τόσο απλόι?Καλύτερα κάποιος να του δείξει τον δρόμο και ο ίδιος να προσπαθήσει να γράψει τον κώδικα, αλλά είναι πολύ πιο εύκολο το να πεις "φάε το κεφάλι σου δεν σου λέω τίποτα" απ'το να κάτσεις να γράψεις κάτι που ίσως και να βοηθήσει κάποιον.
 

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

g1wrg0s

Επιφανές μέλος

Ο 01001 αυτή τη στιγμή δεν είναι συνδεδεμένος. Επαγγέλεται Φοιτητής/τρια. Έχει γράψει 9,074 μηνύματα.
Εγώ από την άλλη πιστεύω ότι καλό είναι να μάθεις κάποια πράγματα (θεωρητικά κυρίως) πριν αρχίσεις να τα φτιάχνεις στο ντούκου.Δηλαδή,τι προτίνεις? να φάει το κεφάλι του για να φτιάξει κάτι τόσο απλόι?Καλύτερα κάποιος να του δείξει τον δρόμο και ο ίδιος να προσπαθήσει να γράψει τον κώδικα, αλλά είναι πολύ πιο εύκολο το να πεις "φάε το κεφάλι σου δεν σου λέω τίποτα" απ'το να κάτσεις να γράψεις κάτι που ίσως και να βοηθήσει κάποιον.

Δεν ειπα οτι δεν δειχνω-λεω τιποτα. Νομιζω οτι εχω κανει κατι περισσοτερο απο εμφανες εδω μεσα οτι θελω να βοηθαω οταν εχω τις γνωσεις να το κανω.
Προτεινα να ξεκινησει το προγραμμα σιγα σιγα επειδη " ΓΝΩΡΙΖΩ " οτι εχει κανει ηδη μια προσπαθεια να μαθει τα βασικα . Τα εισαγωγικα παιζουν το ρολο τους διοτι δεν αναφερομαι στην κυριολεκτικη σημασια της λεξης. Αν διαβασεις προηγουμενα post ισως καταλαβεις.

Αλλο να εξηγησεις σε καποιον τα βασικα στοιχεια της γλωσσας ή να τον παραπεμψεις σε αυτα, ωστε να φτασει στο επιπεδο γνωσεων που απαιτει το προγραμμα και αλλο να του πεις την ιδεα- κορμο που λυνεται το προβλημα που θελει λυσει.

Τι προτεινω; Να ξεκινησει να χτιζει το προγραμμα που θελει καποιος και στη πορεια θα μαθει . Οταν συναντα δυσκολιες για τις οποιες πλεον δεν πορει να κανει κατι, τοτε ζητα βοηθεια και προχωρα . Το να φαει το κεφαλι του καποιος θεωρω οτι ειναι μια απο τις απαραιτητες προυποθεσεις για τη μαθηση.
π.χ Βρες ενα προγραμμα απο το google και κατανοησε το , επειτα απο καποια ωρα θα εισαι σιγουρος οτι εχεις κατανοησει , τοτε κλεισε το internet και γραψε το, εστω και με το δικο σου τροπο. Ειμαι σιγουρος οτι θα σκαλωσεις σε καποιο σημειο. Ανεφερα το παραδειγμα για να δειξω τη τεραστια διαφορα που θα υπαρχει αναμεσα στο να φαει το κεφαλι του καποος και στο να μη το φαει παιρνοντας την ιδεα . (Σημειωση! Το β ενικο δεν σημαινει κατι)

Οχι φιλε μου. Δεν διαλεξα τον ευκολο δρομο οπως νομιζεις. Ο ευκολος δρομος για μενα ειναι να μην απαντουσα καν ή να πετουσα τον ετοιμο κωδικα που εχω στο pc μου. Απεναντιας προσπαθησα να του δειξω οτι το να φαει το κεφαλι του ειναι ο πιο σωστος τροπος για να κατανοησει τι κανει το προγραμμα. Απο τον κωδικα μου δεν μπορει να κατανοησει τον τροπο με τον οποιο εγω σκεφτηκα.
Αλλο ενα παραδειγμα για να εξηγουμαι και να μην παρεξηγουμε.

Σημειωση!!! Ο τροπος ευρεσης ελαχιστου ή μεγιστου δεν γινεται με δυο τροπους και ευχομαι να συμφωνεις σε αυτο.(λιστα με κλασεις, με σταθερο πινακα, με δυναμικο πινακα, χωρις καθολου πινακα κλπ )

Αν εγω επειδη σκεφτομαι οτι χωρις πινακα ειναι πιο αποδοτικο και χρειαζεται λιγοτερους πορους για τον υπολογιστη (θελει λιγοτερη μνημη εφοσον δεν χρησιμοποιω πινακα) και του πεταξω 100 γραμμες κωδικα ή του πω την ιδεα , καποια στιγμη διαβαζοντας το, θα το καταλαβει. Δεν ξερω αν θα ειναι σε θεση να το γραψει αλλα θα το καταλαβει κι ας εχει ενα ματσο αποριες. Αυτο που δυσκολα θα κατανοησει ειναι γιατι το εκανα ετσι και τι ειχα στο μυαλο μου οταν το ξεκινουσα.

Αντιθετα αν αφησεις καποιον να το σκεφτει μπορει να σου βγαλει και την πιο απροβλεπτη υλοποιηση που δεν περνουσε καν απο το μυαλο σου. Μην ξεχνας οτι πολλα προγραμματα ειναι δυσκολο να υλοποιηθουν οχι γιατι ειναι πολλες γραμμες κωδικα αλλα γιατι ειναι δυσκολο να βρεις αυτη την ιδεα που εσυ δινεις ετοιμη. Αυτη και τα λογικα λαθη μετεπειτα ειναι αυτα που μπορουν να σε κανουν να κολλησεις μιση ωρα πανω στην οθονη χωρις να κανεις τιποτα και απλα να σκεφτεσαι το πως ή το γιατι αντιστοιχα.



Φιλικα.

Υ.Γ: Αναφερομαι στο παιδι με την απορια. Απο την στιμη φιλε μου που βρηκες τον κωδικα αλλα καπου κολλας για να συνεχισεις γιατι απλα δεν μας δειχνεις το κομματι του κωδικα του οποιου δεν καταλαβαινεις κατι .
 

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

kiriazispao4ever

Δραστήριο μέλος

Ο kiriazispao4ever αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 29 ετών. Έχει γράψει 526 μηνύματα.
καλά παιδιά ηρεμήστε :P
ευχαριστώ που προσπαθείτε να βοηθήσετε πάντως...
Code:
#include <iostream>
using namespace std;
int main (void)
{
int n;
cout << "Δώσε αριθμό n\n";
cin >> n;
int i;
int x;
int max=-10;            *
int min=10;                 *
for (i=1; i<=n; i++){           *
cout << "Δώσε αριθμο x\n";
cin >> x;
if (x>max){
max=x;}

if (x<min){
min=x;}
}
cout << "Ο μέγιστος ειναι ο " << max << " και ο ελάχιστος ο " << min << endl;
return 0;}

εδώ ειναι ο κώδικας...(βαζω αστεράκι οτι δεν καταλαβαίνω..)
 

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

infinity

Εκκολαπτόμενο μέλος

Ο Παναγιώτης αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 190 μηνύματα.
Δεν ειπα οτι δεν δειχνω-λεω τιποτα. Νομιζω οτι εχω κανει κατι περισσοτερο απο εμφανες εδω μεσα οτι θελω να βοηθαω οταν εχω τις γνωσεις να το κανω.
Προτεινα να ξεκινησει το προγραμμα σιγα σιγα επειδη " ΓΝΩΡΙΖΩ " οτι εχει κανει ηδη μια προσπαθεια να μαθει τα βασικα . Τα εισαγωγικα παιζουν το ρολο τους διοτι δεν αναφερομαι στην κυριολεκτικη σημασια της λεξης. Αν διαβασεις προηγουμενα post ισως καταλαβεις.

Αλλο να εξηγησεις σε καποιον τα βασικα στοιχεια της γλωσσας ή να τον παραπεμψεις σε αυτα, ωστε να φτασει στο επιπεδο γνωσεων που απαιτει το προγραμμα και αλλο να του πεις την ιδεα- κορμο που λυνεται το προβλημα που θελει λυσει.

Τι προτεινω; Να ξεκινησει να χτιζει το προγραμμα που θελει καποιος και στη πορεια θα μαθει . Οταν συναντα δυσκολιες για τις οποιες πλεον δεν πορει να κανει κατι, τοτε ζητα βοηθεια και προχωρα . Το να φαει το κεφαλι του καποιος θεωρω οτι ειναι μια απο τις απαραιτητες προυποθεσεις για τη μαθηση.
π.χ Βρες ενα προγραμμα απο το google και κατανοησε το , επειτα απο καποια ωρα θα εισαι σιγουρος οτι εχεις κατανοησει , τοτε κλεισε το internet και γραψε το, εστω και με το δικο σου τροπο. Ειμαι σιγουρος οτι θα σκαλωσεις σε καποιο σημειο. Ανεφερα το παραδειγμα για να δειξω τη τεραστια διαφορα που θα υπαρχει αναμεσα στο να φαει το κεφαλι του καποος και στο να μη το φαει παιρνοντας την ιδεα . (Σημειωση! Το β ενικο δεν σημαινει κατι)

Οχι φιλε μου. Δεν διαλεξα τον ευκολο δρομο οπως νομιζεις. Ο ευκολος δρομος για μενα ειναι να μην απαντουσα καν ή να πετουσα τον ετοιμο κωδικα που εχω στο pc μου. Απεναντιας προσπαθησα να του δειξω οτι το να φαει το κεφαλι του ειναι ο πιο σωστος τροπος για να κατανοησει τι κανει το προγραμμα. Απο τον κωδικα μου δεν μπορει να κατανοησει τον τροπο με τον οποιο εγω σκεφτηκα.
Αλλο ενα παραδειγμα για να εξηγουμαι και να μην παρεξηγουμε.

Σημειωση!!! Ο τροπος ευρεσης ελαχιστου ή μεγιστου δεν γινεται με δυο τροπους και ευχομαι να συμφωνεις σε αυτο.(λιστα με κλασεις, με σταθερο πινακα, με δυναμικο πινακα, χωρις καθολου πινακα κλπ )

Αν εγω επειδη σκεφτομαι οτι χωρις πινακα ειναι πιο αποδοτικο και χρειαζεται λιγοτερους πορους για τον υπολογιστη (θελει λιγοτερη μνημη εφοσον δεν χρησιμοποιω πινακα) και του πεταξω 100 γραμμες κωδικα ή του πω την ιδεα , καποια στιγμη διαβαζοντας το, θα το καταλαβει. Δεν ξερω αν θα ειναι σε θεση να το γραψει αλλα θα το καταλαβει κι ας εχει ενα ματσο αποριες. Αυτο που δυσκολα θα κατανοησει ειναι γιατι το εκανα ετσι και τι ειχα στο μυαλο μου οταν το ξεκινουσα.

Αντιθετα αν αφησεις καποιον να το σκεφτει μπορει να σου βγαλει και την πιο απροβλεπτη υλοποιηση που δεν περνουσε καν απο το μυαλο σου. Μην ξεχνας οτι πολλα προγραμματα ειναι δυσκολο να υλοποιηθουν οχι γιατι ειναι πολλες γραμμες κωδικα αλλα γιατι ειναι δυσκολο να βρεις αυτη την ιδεα που εσυ δινεις ετοιμη. Αυτη και τα λογικα λαθη μετεπειτα ειναι αυτα που μπορουν να σε κανουν να κολλησεις μιση ωρα πανω στην οθονη χωρις να κανεις τιποτα και απλα να σκεφτεσαι το πως ή το γιατι αντιστοιχα.



Φιλικα.

Υ.Γ: Αναφερομαι στο παιδι με την απορια. Απο την στιμη φιλε μου που βρηκες τον κωδικα αλλα καπου κολλας για να συνεχισεις γιατι απλα δεν μας δειχνεις το κομματι του κωδικα του οποιου δεν καταλαβαινεις κατι .

δεν στην είπα ρε φίλε :P το έκανα με ελαφρό τόνο επίκρισης, αλλά χωρις να εννοώ τίποτα που θα μπορούσε έμμεσα η άμεσα να σε προσβάλλει.Όπως ξέρεις υπάρχουν διάφοροι τρόποι προσέγγισης ενός προβλήματος, δεν αναφέρομαι σε τίποτα ιδιαίτερα δύσκολο και πολύπλοκο, αλλά αν διάβαζες αυτό που έγραψα θα καταλάβαινες.. εξαντλητικος -> δυο εμφωλιασμένες λούπες ελέγχουν το κάθε στοιχείο στην θέση i αν είναι μεγαλύτερο από το κάθε στοιχείο στο διάστημα (i+1,N), πολυπλοκότητα σε χρόνο Ο(Ν^2) ,αρκετά υπερβολικό, και σε μνήμη Ο(Ν).υπάρχει και ο γνωστός,βέλτιστος,τρόπος που γίνεται και χωρίς πίνακα όπου ελέγχεις το κάθε στοιχείο στην θέση i αν είναι μεγαλύτερο από το μέχρι στιγμής max.πολυπλοκότητα σε χρόνο Ο(Ν) και σε μνήμη Ο(1) ή Ο(Ν).Δεν αναφέρομαι σε τι data structures θα χρησιμοποιήσει για την αποθήκευση των μεταβλητών,αλλά στην καθαρά θεωρητική υλοποίηση του αλγορίθμου.
Δεν νομίζω ότι υπάρχουν και πολλές άγνωστες προσεγγίσεις για ένα τόσο απλό πρόβλημα, να μου έλεγες για αλγορίθμους επιπέδου BFS που μπορείς να κωδικοποιείς το κάθε state με 500 τρόπους οκ, αλλά εδώ τα πράγματα είναι αρκετά απλά.
Γενικότερα πιστεύω ότι καλό είναι να βλέπεις τον δρόμο και απο'κει και πέρα κάνεις ότι γουστάρεις..c'est tout.

ΥΓ: οκ όσον αφορά το πρόγραμμα της google μπορεί να σκαλώσω, αλλά για κάτι ΤΌΣΟ απλό δεν νομίζω ότι τίθεται τέτοιο θέμα.
 

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

infinity

Εκκολαπτόμενο μέλος

Ο Παναγιώτης αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 190 μηνύματα.
καλά παιδιά ηρεμήστε :P
ευχαριστώ που προσπαθείτε να βοηθήσετε πάντως...
Code:
#include <iostream>
using namespace std;
int main (void)
{
int n;
cout << "Δώσε αριθμό n\n";
cin >> n;
int i;
int x;
int max=-10;            *
int min=10;                 *
for (i=1; i<=n; i++){           *
cout << "Δώσε αριθμο x\n";
cin >> x;
if (x>max){
max=x;}

if (x<min){
min=x;}
}
cout << "Ο μέγιστος ειναι ο " << max << " και ο ελάχιστος ο " << min << endl;
return 0;}
εδώ ειναι ο κώδικας...(βαζω αστεράκι οτι δεν καταλαβαίνω..)

κατ'αρχάς είναι κακό να θέτεις το min=10 και το max=-10 γιατί δεν μπορείς να προβλέψεις το τι θα βάλει ο χρήστης anyway.Για να φτιάξεις το πρόγραμμα αυτό, προυποθέτει for-loops,που θα σκανάρουν αριθμούς Ν φορές.τώρα θέτεις ότι το χειρότερο πιθανό σενάριο είναι το max να είναι ίσο με -άπειρο και το min ίσο με άπειρο και προχωράς ελέγχοντας τους αριθμούς.Αυτή είναι η χρησιμότητα των μεταβλητών min,max..
 

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

g1wrg0s

Επιφανές μέλος

Ο 01001 αυτή τη στιγμή δεν είναι συνδεδεμένος. Επαγγέλεται Φοιτητής/τρια. Έχει γράψει 9,074 μηνύματα.
Για τη γραμμη που αφορα την επαναληψη. Ξεκινα απο το 1 και καταληγει μεχρι εκει ποου θα εχει ορισει ο χρηστης . Δες οτι την τιμη n την καθοριζει ο χρηστης .Αυτη η μεταβλητη ειναι το πληθος των αριθμων που θα δεχτει το προγραμμα. Με λιγα λογια αναμεσα σε ποσους αριθμους θελεις να βρω τον μεγιστο και τον ελαχιστο.

Ως προς τους αλλους δυο αστερισκους.

ΠΡΕΠΕΙ να ορισει δυο αρχικες τιμες για τα min-max ωστε στην εισοδο του πρωτου αριθμου να εχει κατι με το οποιο να τους συκρινει . Δηλαδη αν εσυ εισαγεις σαν πρωτο αριθμο το χ=1 , για να ελεγξει αν ειναι το μεγιστο λη το ελαχιστο στοιχειο που εχεις εισαγει μεχρι τωρα θα πρεπει να συγκρινει τον αριθμο σου με τα min-max που ισχυαν μεχρι εκεινη τη στιγμη.

Ομως εσυ εισηγαγες τον ΠΡΩΤο αριθμο, δεν εχεις καποιο min ή καποιο max , οποτε ειναι επιτακτικη η αναγκη να υπαρχουν ηδη δυο τιμες για συγκριση. Αυτος επιλεγει τις min=10 και max=-10 αντιστοιχα.

Κατα την δικια μου αποψη το προγραμμα μπαζει σε πολλες περιπτωσεις. Κανε ενα τεστ (αφοτου βεβαιως το καταλαβεις) και ελπιζω να δεις τι παω λαθος στο προγραμμα αυτο.
 

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

Guest 986132

Επισκέπτης

αυτή τη στιγμή δεν είναι συνδεδεμέν. Δεν έχει γράψει κανένα μήνυμα.
Οι αρχικοποιήσεις των max και min γίνονται με αυθαίρετες τιμές. Τις κάνουμε μόνο και μόνο επειδή κάνουμε συγκρίσεις μέσα στη for και οι μεταβλητές πρέπει να έχουν τιμή.

Η for ξεκινάει απ' το 1 κι επαναλαμβάνεται έως ότου η συνθήκη γίνει ψευδής. Μέσα εκεί παίρνουμε το x και γίνονται οι συγκρίσεις με τα max και min -κι ανάλογα την περίπτωση αλλάζουν τα max-min.

edit. Sorryz, με προλάβατε!
 

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

g1wrg0s

Επιφανές μέλος

Ο 01001 αυτή τη στιγμή δεν είναι συνδεδεμένος. Επαγγέλεται Φοιτητής/τρια. Έχει γράψει 9,074 μηνύματα.
δεν στην είπα ρε φίλε :P το έκανα με ελαφρό τόνο επίκρισης, αλλά χωρις να εννοώ τίποτα που θα μπορούσε έμμεσα η άμεσα να σε προσβάλλει.Όπως ξέρεις υπάρχουν διάφοροι τρόποι προσέγγισης ενός προβλήματος, δεν αναφέρομαι σε τίποτα ιδιαίτερα δύσκολο και πολύπλοκο, αλλά αν διάβαζες αυτό που έγραψα θα καταλάβαινες.. εξαντλητικος -> δυο εμφωλιασμένες λούπες ελέγχουν το κάθε στοιχείο στην θέση i αν είναι μεγαλύτερο από το κάθε στοιχείο στο διάστημα (i+1,N), πολυπλοκότητα σε χρόνο Ο(Ν^2) ,αρκετά υπερβολικό, και σε μνήμη Ο(Ν).υπάρχει και ο γνωστός,βέλτιστος,τρόπος που γίνεται και χωρίς πίνακα όπου ελέγχεις το κάθε στοιχείο στην θέση i αν είναι μεγαλύτερο από το μέχρι στιγμής max.πολυπλοκότητα σε χρόνο Ο(Ν) και σε μνήμη Ο(1) ή Ο(Ν).Δεν αναφέρομαι σε τι data structures θα χρησιμοποιήσει για την αποθήκευση των μεταβλητών,αλλά στην καθαρά θεωρητική υλοποίηση του αλγορίθμου.
Δεν νομίζω ότι υπάρχουν και πολλές άγνωστες προσεγγίσεις για ένα τόσο απλό πρόβλημα, να μου έλεγες για αλγορίθμους επιπέδου BFS που μπορείς να κωδικοποιείς το κάθε state με 500 τρόπους οκ, αλλά εδώ τα πράγματα είναι αρκετά απλά.
Γενικότερα πιστεύω ότι καλό είναι να βλέπεις τον δρόμο και απο'κει και πέρα κάνεις ότι γουστάρεις..c'est tout.

ΥΓ: οκ όσον αφορά το πρόγραμμα της google μπορεί να σκαλώσω, αλλά για κάτι ΤΌΣΟ απλό δεν νομίζω ότι τίθεται τέτοιο θέμα.

Φιλε μου το ΑΠΛΟ ειναι υποκειμενικο . Το hello world τωρα φαινεται αρκετα γελειο σε καποιους. Οταν δεν ειχα ιδεα ομως το hello world μου φαινοταν ο δισκος της Φαιστου.
Απλα εχουμε διαφορετικες οπτικες στο θεμα.
 

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

infinity

Εκκολαπτόμενο μέλος

Ο Παναγιώτης αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 190 μηνύματα.
Φιλε μου το ΑΠΛΟ ειναι υποκειμενικο . Το hello world τωρα φαινεται αρκετα γελειο σε καποιους. Οταν δεν ειχα ιδεα ομως το hello world μου φαινοταν ο δισκος της Φαιστου.
Απλα εχουμε διαφορετικες οπτικες στο θεμα.

Και γω όταν ήμουν 4 μου φαινόταν δίσκος της Φαιστού η πρόσθεση, αυτό δεν σημαίνει ότι δεν είναι απλή.Όπως και σε έναν τελειόφοιτο μπορεί να φαίνεται γελοίος o dijkstra, αυτό δεν σημαίνει ότι είναι εύκολος.Γενικότερα, υπάρχουν κάποια αντικειμενικά κριτήρια για το πόσο απλό ή όχι είναι κάτι.

Για να επανέλθουμε στο θέμα μας, θεωρητικά οι τιμές min/max είναι άπειρο,-άπειρο για να μην πέφτουμε ποτέ έξω.Αυτό στο πρόγραμμα @kiriazis το κάνουμε δίνοντάς τους όσο μεγαλύτερες τιμές μπορούμε πχ κάνεις #define INF 10000..0000 και στο πρόγραμμα max=-INF,min=INF.
 

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

kiriazispao4ever

Δραστήριο μέλος

Ο kiriazispao4ever αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 29 ετών. Έχει γράψει 526 μηνύματα.
ευχαριστωωω...νόμίζω κατάλαβα...θα το δοκιμάσω αργότερα και θα δω..αν σκαλώσω :P
 

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

vassilis498

Διακεκριμένο μέλος

Ο vassilis498 αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 7,079 μηνύματα.
Δε χρειάζεται να ορίσει για min και max κάποια ακραία τιμη. Μπορεί να δώσει την πρώτη τιμή που θα διαβάσει. Εκτός κι αν είπατε αυτό και δεν το κατάλαβα.
 

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

g1wrg0s

Επιφανές μέλος

Ο 01001 αυτή τη στιγμή δεν είναι συνδεδεμένος. Επαγγέλεται Φοιτητής/τρια. Έχει γράψει 9,074 μηνύματα.
Αγεια σου Βασιλη. Ωστοσο αυτο δεν αρκει και το προγραμμα μπαζει και απο αλλου και με αυτη τη διορθωση.
 

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

εμμα_τριντεντ

Πολύ δραστήριο μέλος

Η εμμα_τριντεντ αυτή τη στιγμή δεν είναι συνδεδεμένη. Έχει γράψει 1,327 μηνύματα.
κι επειδή είμαι κλασσικό νουμεράκι και μ αρέσει να κάνω τη ζωή μου δύσκολη
προτείνω όταν χρησιμοποιείς mix και max να χρησιμοποιείς την εξής βιβλιοθήκη: limits.h
και μια print για να δεις το min και το max π.χ. printf("\n%d",INT_MIN)
βέβαια από υπολογιστή σε υπολογιστή αυτό αλλάζει γι' αυτό καλό θα ήταν να το έβαζες στα σχόλια
αν π.χ. έπρεπε να παραδώσεις κάποια εργασία :D

νταξ, πάω να κοιμηθώ, το παράκανα :redface:
 

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

kiriazispao4ever

Δραστήριο μέλος

Ο kiriazispao4ever αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 29 ετών. Έχει γράψει 526 μηνύματα.
κι επειδή είμαι κλασσικό νουμεράκι και μ αρέσει να κάνω τη ζωή μου δύσκολη
προτείνω όταν χρησιμοποιείς mix και max να χρησιμοποιείς την εξής βιβλιοθήκη: limits.h
και μια print για να δεις το min και το max π.χ. printf("\n%d",INT_MIN)
βέβαια από υπολογιστή σε υπολογιστή αυτό αλλάζει γι' αυτό καλό θα ήταν να το έβαζες στα σχόλια
αν π.χ. έπρεπε να παραδώσεις κάποια εργασία :D

νταξ, πάω να κοιμηθώ, το παράκανα :redface:


όντως το παράκανες ...:mad:
και για μας τους άμαθους..μας κάνεις και φοβόμαστε :P
όχι καλέ... 17 χρονών παιδάκι..τι εργάσια να έχω?:P

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

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

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

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