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

ναι, ουσιαστικά αυτό που θέλουν να σου πουν είναι πως από τη στιγμή που τώρα μαθαίνεις προγραμματισμό
και μάλιστα μόνος σου είναι λίγο κάπως να σκέφτεσαι και τις εκφωνήσεις μόνος σου.

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

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

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

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

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

 
λάθος ποστ. :P
δεν ξέρω πως να διαγράψω το μηνυμα....

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

 
Τελευταία επεξεργασία:
Να ρωτήσω...
πχ θέλω να φτιάξω ενα πρόγραμμα που ο χρήστης εισάγει δυο ομάδες και το πρόγραμμα του λεει ποιος θα κερδίσει.
Ως νικητή το πρόγραμμα,θέλω να βγάζει την ομάδα με τους περισσοτέρους χαρακτήρες στο ονομα της.

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

dwse omades: panathinaikos aek

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

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

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

 
Υπαρχουν οι συναρτήσεις 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 και μετά να σκευτείς ασκήσεις για να λύσεις.(αν δεν βγάζεις άκρη απο το διαδίκτυο αγόρασε ένα βιβλίο)

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

 
Υπαρχουν οι συναρτήσεις 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 αυτό το βιβλίο το ξέρεις? θα το πρότεινες?

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

 
Η length φανερώνει τον αριθμό των στοιχείων.

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

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

 
Η length φανερώνει τον αριθμό των στοιχείων.

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

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

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

 
Υπαρχουν οι συναρτήσεις 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 και μετά να σκευτείς ασκήσεις για να λύσεις.(αν δεν βγάζεις άκρη απο το διαδίκτυο αγόρασε ένα βιβλίο)


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

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

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

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++ κοκ).

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

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

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++ κοκ).

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

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

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

Σου έκανα την άσκηση σε 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;
}

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

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

Σου έκανα την άσκηση σε 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>

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

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

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

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

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

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

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

ειναι #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, αρκεί να δοθεί η πράξη.

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

 
Δίκιο έχεις. 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?

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

 
Σωστά. :)

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

 
:hehe:


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

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

 
Το 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/

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

 
Σωστά, μαύρη πεταλούδα. Εγώ δεν εκφράστηκα σωστά. :)

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

 

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

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