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

kiriazispao4ever

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

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

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

Με λίγα λόγια, είναι σαν να λέμε σε έναν αρχιτέκτονα να ξεκινάει να σχεδιάζει σπίτια που του έρχονται στο μυαλό,
ενώ πριν λίγο ξεκίνησε να μαθαίνει σχέδιο. Ιμπόσιμπλ. Κατάλαβες τι θέλω να πω;

Καλή συνέχεια :)

ναι κατάλαβα...αν και ακομα δεν μου έχει ερθει το e-mail ενεργοποιησης,αλλα τεσπα :P
ευχαριστώ πολυ! :)
 

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

kiriazispao4ever

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

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

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

Τελευταία επεξεργασία:

kiriazispao4ever

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

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

πχ η έξοδος του προγραμματος ειναι καπως ετσι.

dwse omades: panathinaikos aek

h omada pou tha kerdisei einai h ......

και στις τελίτσες θα πρέπει να γράφει panathinaikos γιατί αυτη η ομάδα έχει περισσότερους χαρακτήρες.
Πως όμως το πρόγραμμα θα ναι σε θέση να μετράει τους χαρακτήρες? :hmm:
 

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

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

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

Ο Πληροφορικάριος αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Αθήνα (Αττική). Έχει γράψει 623 μηνύματα.
Υπαρχουν οι συναρτήσεις length και size στην κλάση string για την μέτρηση των χαρακτήρων.

Code:
#include<iostream>
#include<string>
using namespace std;

int main()
{
    string name1,name2;
    
    cout<<"dwste omades: ";
    cin>>name1>>name2;
    if(name1.length()>name2.length())
       cout<<"kerdise h omada: "<<name1<<endl;
    else if(name1.length()<name2.length())
            cout<<"kerdise h omada: "<<name2<<endl;
    else 
         cout<<"isopalia"<<endl;
}

Σου προτείνω να διαβάσεις λίγο τα strings και μετά να σκευτείς ασκήσεις για να λύσεις.(αν δεν βγάζεις άκρη απο το διαδίκτυο αγόρασε ένα βιβλίο)
 

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

kiriazispao4ever

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

Ο kiriazispao4ever αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 29 ετών. Έχει γράψει 526 μηνύματα.
Υπαρχουν οι συναρτήσεις length και size στην κλάση string για την μέτρηση των χαρακτήρων.

Code:
#include<iostream>
#include<string>
using namespace std;

int main()
{
    string name1,name2;
    
    cout<<"dwste omades: ";
    cin>>name1>>name2;
    if(name1.length()>name2.length())
       cout<<"kerdise h omada: "<<name1<<endl;
    else if(name1.length()<name2.length())
            cout<<"kerdise h omada: "<<name2<<endl;
    else 
         cout<<"isopalia"<<endl;
}

Σου προτείνω να διαβάσεις λίγο τα strings και μετά να σκευτείς ασκήσεις για να λύσεις.(αν δεν βγάζεις άκρη απο το διαδίκτυο αγόρασε ένα βιβλίο)

μες την εβδόμαδα θα αγοράσω βιβλίο,βέβαια δεν έχω ιδέα ποιο,έχεις κανένα να μου προτείνεις?

σε ευχαριστώ για την απάντηση :)

η length και η size κάνουν την ίδια δουλειά? γιατι εσύ στον κώδικα πρόσθεσες μόνο την length.
Η χρησιμότητα της είναι να μετράει τους χαρακτήρες ,σωστά δεν κατάλαβα?
γιατι μετα την συναρτηση length ανοίγεις και κλείνει παρένθεση?

btw
https://www.e-shop.gr/show_bks.phtml?id=BKS.0039336 αυτό το βιβλίο το ξέρεις? θα το πρότεινες?
 

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

Guest 986132

Επισκέπτης

αυτή τη στιγμή δεν είναι συνδεδεμέν. Δεν έχει γράψει κανένα μήνυμα.
Η length φανερώνει τον αριθμό των στοιχείων.

Ανοίγει και κλείνει παρένθεση, γιατί έτσι συντάσσεται η length, είναι συνάρτηση.
 

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

kiriazispao4ever

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

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

Ανοίγει και κλείνει παρένθεση, γιατί έτσι συντάσσεται η length, είναι συνάρτηση.

ααα ευχαριστώ :D
 

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

kiriazispao4ever

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

Ο kiriazispao4ever αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 29 ετών. Έχει γράψει 526 μηνύματα.
Υπαρχουν οι συναρτήσεις length και size στην κλάση string για την μέτρηση των χαρακτήρων.

Code:
#include<iostream>
#include<string>
using namespace std;

int main()
{
    string name1,name2;
    
    cout<<"dwste omades: ";
    cin>>name1>>name2;
    if(name1.length()>name2.length())
       cout<<"kerdise h omada: "<<name1<<endl;
    else if(name1.length()<name2.length())
            cout<<"kerdise h omada: "<<name2<<endl;
    else 
         cout<<"isopalia"<<endl;
}

Σου προτείνω να διαβάσεις λίγο τα strings και μετά να σκευτείς ασκήσεις για να λύσεις.(αν δεν βγάζεις άκρη απο το διαδίκτυο αγόρασε ένα βιβλίο)


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

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

Guest 986132

Επισκέπτης

αυτή τη στιγμή δεν είναι συνδεδεμέν. Δεν έχει γράψει κανένα μήνυμα.
Ένας απλός τρόπος είναι να παράγεις μία ακολουθία τυχαίων αριθμών. Ας πούμε να έχεις τρεις αριθμούς:

1. που θα αντιπροσωπεύει την πρώτη ομάδα
2. που θα αντιπροσωπεύει την δεύτερη ομάδα
3. ισοπαλία

Ο αριθμός θα παράγεται τυχαία. Θα τον τυπώνεις στην οθόνη (αν θέλεις) και μετά με if θα παίρνεις το αποτέλεσμα και θα το τυπώνεις στην οθόνη.

Την δουλειά αυτή την κάνει η συνάρτηση rand(). Αλλά για να έχεις πραγματικά ψευδο-τυχαίους αριθμούς, θα πρέπει να την υποστηρίξεις με την srand (η οποία καλείται μία φορά στο πρόγραμμα), για να έχεις διαφορετικά αποτελέσματα κάθε φορά.

Οπότε στο πρόγραμμά σου θα καλέσεις πρώτα την srand:

srand(time(NULL));

Η συνάρτηση time(NULL) επιστρέφει την ώρα ρολογιού του υπολογιστή, οπότε η srand κάθε φορά παίρνει μία διαφορετική παράμετρο, κι έτσι παράγει διαφορετικές ακολουθίες τυχαίων αριθμών.

*για να χρησιμοποιηθεί πρέπει να συμπεριληφθεί η ctime.h
**και για την rand() --> cstdlib

Παραδείγματα:

https://www.cplusplus.com/reference/clibrary/cstdlib/rand/
https://www.daniweb.com/software-development/cpp/threads/1769/c-random-numbers#

...και θα βρεις κι άλλες πληροφορίες, χτυπώντας λέξεις-κλειδιά στο google (πχ. τυχαίοι αριθμοί σε C++, rand C++ κοκ).
 

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

kiriazispao4ever

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

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

1. που θα αντιπροσωπεύει την πρώτη ομάδα
2. που θα αντιπροσωπεύει την δεύτερη ομάδα
3. ισοπαλία

Ο αριθμός θα παράγεται τυχαία. Θα τον τυπώνεις στην οθόνη (αν θέλεις) και μετά με if θα παίρνεις το αποτέλεσμα και θα το τυπώνεις στην οθόνη.

Την δουλειά αυτή την κάνει η συνάρτηση rand(). Αλλά για να έχεις πραγματικά ψευδο-τυχαίους αριθμούς, θα πρέπει να την υποστηρίξεις με την srand (η οποία καλείται μία φορά στο πρόγραμμα), για να έχεις διαφορετικά αποτελέσματα κάθε φορά.

Οπότε στο πρόγραμμά σου θα καλέσεις πρώτα την srand:

srand(time(NULL));

Η συνάρτηση time(NULL) επιστρέφει την ώρα ρολογιού του υπολογιστή, οπότε η srand κάθε φορά παίρνει μία διαφορετική παράμετρο, κι έτσι παράγει διαφορετικές ακολουθίες τυχαίων αριθμών.

*για να χρησιμοποιηθεί πρέπει να συμπεριληφθεί η ctime.h
**και για την rand() --> cstdlib

Παραδείγματα:

https://www.cplusplus.com/reference/clibrary/cstdlib/rand/
https://www.daniweb.com/software-development/cpp/threads/1769/c-random-numbers#

...και θα βρεις κι άλλες πληροφορίες, χτυπώντας λέξεις-κλειδιά στο google (πχ. τυχαίοι αριθμοί σε C++, rand C++ κοκ).

ναι,η αληθεια ειναι οτι δεν πολυκατάλαβα,αλλά θα διαβάσω καλύτερα τα παραδείγματα που μου παρέθεσες
μπας και καταλάβω...Σε ευχαριστώ πάντως:)
 

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

Guest 986132

Επισκέπτης

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

Σου έκανα την άσκηση σε C++.
Δεν την έτρεξα. Αν την τρέξεις και βγάλει λάθη, πες μου.


Code:
#include<iostream>
#include<ctime.h>
#include<cstdlib>

using namespace std;

int main(){

    string om1, om2;
    int i,r;

    cout<<"dwste omades: "; 
    cin>>om1>>om2;

    srand(time(NULL));

     r=rand()%3+1;
    
     cout<<"r: "<<r<<endl;
     cout<<"\n\n"; 
        
    if(r==1)
        cout<<"nikhse h prwth omada"<<om1<<endl;
    else if(r==2)
        cout<<"nikhse h deuterh omada"<<om2<<endl;
    else
        cout<<"isopalia";

return 0;
}
 

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

kiriazispao4ever

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

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

Σου έκανα την άσκηση σε C++.
Δεν την έτρεξα. Αν την τρέξεις και βγάλει λάθη, πες μου.


Code:
#include<iostream>
#include<ctime.h>
#include<cstdlib>

using namespace std;

int main(){

    string om1, om2;
    int i,r;

    cout<<"dwste omades: "; 
    cin>>om1>>om2;

    srand(time(NULL));

     r=rand()%3+1;
    
     cout<<"r: "<<r<<endl;
     cout<<"\n\n"; 
        
    if(r==1)
        cout<<"nikhse h prwth omada"<<om1<<endl;
    else if(r==2)
        cout<<"nikhse h deuterh omada"<<om2<<endl;
    else
        cout<<"isopalia";

return 0;
}

ευχαριστώ για τον κώδικα θα τον μελετήσω μετα το ποστ..απλα ήθελα να σου πω για ενα λαθος που το βρήκα απο πριν που διαβαζα τα αλλα παραδειγματα...

ειναι #include <ctime> ή
#include <time.h>
οχι #include <ctime.h>

ΣΕ ΕΥΧΑΡΙΣΤΩΩΩΩΩ!!!
 

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

kiriazispao4ever

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

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

r=rand()%3+1;
επισης το

srand(time(NULL)); μπαίνει τυχαία στον κώδικα εννοω σε τυχαιο σημείο;
 

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

Guest 986132

Επισκέπτης

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

ειναι #include <ctime> ή
#include <time.h>
οχι #include <ctime.h>

Δίκιο έχεις. ctime πρέπει να είναι το σωστό, όπως το cstdlib. :)

τον διάβασα τον κώδικα και το μόνο που δεν κατάλαβα ειναι αυτό

r=rand()%3+1;
επισης το

srand(time(NULL)); μπαίνει τυχαία στον κώδικα εννοω σε τυχαιο σημείο;

Το rand()%3+1; παράγει 3 αριθμούς. Βάζεις το +1, για να συμπεριληφθεί και το 3.

Το srand(time(NULL)); μπαίνει πριν απ' την rand(), και καλείται μία φορά στο πρόγραμμα.


rand()%(b+1)

Παράγει αριθμούς στο διάστημα [0,RAND_ΜΑΧ]. Οπότε για να παραχθούν ακέραιοι αριθμοί στο διάστημα [0,b], b>0, αρκεί να δοθεί η πράξη.
 

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

kiriazispao4ever

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

Ο kiriazispao4ever αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 29 ετών. Έχει γράψει 526 μηνύματα.
Δίκιο έχεις. ctime πρέπει να είναι το σωστό, όπως το cstdlib. :)



Το rand()%3+1; παράγει 3 αριθμούς. Βάζεις το +1, για να συμπεριληφθεί και το 3.

Το srand(time(NULL)); μπαίνει πριν απ' την rand(), και καλείται μία φορά στο πρόγραμμα.


rand()%(b+1)

Παράγει αριθμούς στο διάστημα [0,RAND_ΜΑΧ]. Οπότε για να παραχθούν ακέραιοι αριθμοί στο διάστημα [0,b], b>0, αρκεί να δοθεί η πράξη.

δηλαδη το rand()%3+1 ειναι αναλόγως ποσα αποτέλεσματα έχουμε(για το παραδειγμα μας?)
1)νικη πρωτης ομαδας
2)νικη 2ης ομαδας
3) ισοπαλια?

αν μπορουσαμε να είχαμε τέταρτο απότελεσμα θα πηγαινει rand()%4+1?
 

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

Guest 986132

Επισκέπτης

αυτή τη στιγμή δεν είναι συνδεδεμέν. Δεν έχει γράψει κανένα μήνυμα.
Σωστά. :)
 

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

kiriazispao4ever

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

Ο kiriazispao4ever αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 29 ετών. Έχει γράψει 526 μηνύματα.

Guest 986132

Επισκέπτης

αυτή τη στιγμή δεν είναι συνδεδεμέν. Δεν έχει γράψει κανένα μήνυμα.
:hehe:


Να 'σαι καλά!
Ό,τι θες και μπορούμε, εδώ είμαστε! :)
 

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

Black_Butterfly

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

Η Αλεξάνδρα αυτή τη στιγμή δεν είναι συνδεδεμένη. Επαγγέλεται Φοιτητής/τρια και μας γράφει απο Ηράκλειο (Κρήτη). Έχει γράψει 1,327 μηνύματα.
Το rand()%3+1; παράγει 3 αριθμούς. Βάζεις το +1, για να συμπεριληφθεί και το 3.

rand()%(b+1)

Παράγει αριθμούς στο διάστημα [0,RAND_ΜΑΧ]. Οπότε για να παραχθούν ακέραιοι αριθμοί στο διάστημα [0,b], b>0, αρκεί να δοθεί η πράξη.

Παράγει έναν αριθμό από το 1 εως το 3 έχω την εντύπωση και όχι 3 αριθμούς.:)

https://www.cplusplus.com/reference/clibrary/cstdlib/rand/
 

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

Guest 986132

Επισκέπτης

αυτή τη στιγμή δεν είναι συνδεδεμέν. Δεν έχει γράψει κανένα μήνυμα.
Σωστά, μαύρη πεταλούδα. Εγώ δεν εκφράστηκα σωστά. :)
 

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

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

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