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

Με ιστοσελιδες δεν θα καταφερεις να μαθεις τιποτα αλλο απ'το να γραφεις #include....
Αν θες αγοραζεις καποιο βιβλιο και οτι απορια εχεις εδω ειμαστε.
Ακομα θα χρειαστεις εναν compiler και ο καλυτερος κατ'εμε ειναι ο Dev c++.Οταν παω στον server(στο netbook ειμαι τωρα) θα σου δωσω και ενα link για να δεις πως πρεπει να ειναι η συνταξη σου στην c++.
Have a nice day.

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

 
Με ιστοσελιδες δεν θα καταφερεις να μαθεις τιποτα αλλο απ'το να γραφεις #include....
Αν θες αγοραζεις καποιο βιβλιο και οτι απορια εχεις εδω ειμαστε.
Ακομα θα χρειαστεις εναν compiler και ο καλυτερος κατ'εμε ειναι ο Dev c++.Οταν παω στον server(στο netbook ειμαι τωρα) θα σου δωσω και ενα link για να δεις πως πρεπει να ειναι η συνταξη σου στην c++.
Have a nice day.
Εσύ ξεκίνησες να γράφεις κώδικα όταν ήσουν 2 μηνών να φανταστώ?:P
(Μου κάνει μεγάλη εντύπωση που έχεις τέτοιες γνώσεις παρα το νεαρό της ηλικίας σου! μπράβο πάντως!:no1:)

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

 
Και εμενα εντυπωση μου κανει :P....αλλα δεν ειναι ακτι ιδιαιτερο να μαθεις μια γλωσσα...αρκει να σου αρεσει.
Πως μαθενεις αγγλικα,γαλλικα και ολα τα αλλα ακομα πιο ευκολα μαθαινεις μια γλωσσα.
Κωδικα ξεκινησα να γραφω στα 9 μου.Οχι ακριβως κωδικα.Λιγο html + php και τωρα στα 12 και κατι ξεκινησα να καιγομαι με c++ πολυ αγρια ομως.Ενδιαφερον γλωσσα και επιτρεπει και προγραμματισμο σε γραφικο περιβαλον.

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

 
Με ιστοσελιδες δεν θα καταφερεις να μαθεις τιποτα αλλο απ'το να γραφεις #include....
Αν θες αγοραζεις καποιο βιβλιο και οτι απορια εχεις εδω ειμαστε.
Ακομα θα χρειαστεις εναν compiler και ο καλυτερος κατ'εμε ειναι ο Dev c++.Οταν παω στον server(στο netbook ειμαι τωρα) θα σου δωσω και ενα link για να δεις πως πρεπει να ειναι η συνταξη σου στην c++.
Have a nice day.

Εδώ θα διαφωνήσω.
Είναι πολύ εύκολο (και πολύ πιο φθηνό) να μάθεις απο το net μια γλώσσα και επίσης έχει το καλό οτι βρίσκεσαι συνέχεια σε θέση να μαθαίνεις την τελευταία της έκδοση, κάτι πάρα πολύ καλό. Βέβαια απαιτεί πολύ καλή χρήση αγγλικών.
-----------------------------------------
Κωδικα ξεκινησα να γραφω στα 9 μου.
Αν και εγώ κάπου εκεί είχα αρχίσει (10-11 βασικά)
Οχι ακριβως κωδικα.Λιγο html + php
Και τα δυο κώδικες είναι. Η php μάλιστα είναι και αρκετά βαριά γλώσσα.

και τωρα στα 12 και κατι ξεκινησα να καιγομαι με c++ πολυ αγρια ομως.Ενδιαφερον γλωσσα και επιτρεπει και προγραμματισμο σε γραφικο περιβαλον.
Καλή συνέχεια :)

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

 
Βασικα δεν καταφερα ποτε να μαθω c++ προσπαθοντας μεσω internet.Κατεβασα e-book αγγλικα + ελληνικα.Αγορασα μετα το βιβλιο το 2008 προς 2009 και τελικα τωρα καταφερα να ξεκινησω :P

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

 
Γεία σας , έχω γράψει ένα πρόγραμμα σε c στο οποίο κανώ return σε μια συνάρτηση εναν int το 1 όμως όταν κάλω την συνάρτηση και ένω όταν έκανα debugg η συνάρτηση δουλεύει ( έννοω οι τιμές που έχει είναι οι αναμενόμενες ) η συνάρτηση επιστρέφει άσχετο αριθμό. Μπορεί κανείς να δώσει μια ιδέα για το τι συμβαίνει?

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

 
πόσταρε τον κώδικα ή το κομμάτι στο οποίο έχεις το πρόβλημα γιατί έτσι είναι δύσκολο να μαντέψουμε

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

 
αυτή είναι η συναρτηση int MaxProductSum(float *Array,int Dim,float sum,float product)
{


sum+=Array[--Dim];
product*=Array[Dim];
if(Dim==0)
{
if(sum<product)
return(-1);
else
return(1);
}
else
MaxProductSum(Array,Dim,sum,product);
}

γενικά επιτελεί την λειτουργία αλλά όταν την καλώ δεν επιστρέφει 1 η -1

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

 
Επεξεργάστηκε από συντονιστή:
Βασικά κάνεις αναδρομική κλήση στην συνάρτησή σου χωρίς να αλλάζεις κανένα από τα ορίσματα, οπότε αν δεν μπει στην αρχική κλήση της συνάρτησης Dim=0(όπου ούτε αυτό μπορείς να το βάλεις γιατί θα κρασάρει ψάχνοντας το array[-1]) τότε μπαίνει σε infinite loop και σου επιστρέφει λαθος τιμή, επειδή το κλείνει μόνο του για να μην σ' αφήσει να κάνεις καμιά ζημιά...

Και μήπως σου επιστρέφει πάντα συγκεκριμένο αριθμό;;

Edit: Τώρα μου ρθε το τι θες να κάνεις τόση ώρα, ο κώδικας που θες είναι έτσι...
int MaxProductSum(float *Array,int Dim,float sum,float product)
{


sum+=Array[Dim];
product*=Array[Dim];
if(Dim==0)
{
if(sum<product)
return(-1);
else
return(1);
}
else
{
Dim--;
MaxProductSum(Array,Dim,sum,product);
}
}

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

 
ο κωδίκας που έγραψες κανει ακριβώς το ίδιο που κανει και ο δικός μου αφού αυτή η εντολή
" sum+=Array[--Dim]; "
είναι που μειώνει το Dim κάθε φορά που καλούμε την συνάρτηση αναδρομικά και απο το debugg που έκανα αυτό φαίνεται καθαρά και στο τέλος μπαίνει στο return η 1 return -1.
Kαι ο δίκος σου και ο δικός μου κωδικάς κανουν return τον ίδιο αριθμό κάθε φόρα.

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

 
Code:
#include<iostream>
using namespace std;

int MaxProductSum(float *Array,int Dim,float sum,float product)
 {
 

sum+=Array[--Dim];//1η επανάληψη sum=12,2η επανάληψη sum=13//
 product*=Array[Dim];//1η και 2η επανάληψη 20//
 if(Dim==0)//1η επανάληψη ψευδής,2η επανάληψη αληθής//
 {
 if(sum<product)//13<20//
 return(-1);
 else
 return(1);
 }
 else
 MaxProductSum(Array,Dim,sum,product);
 }
 int main(void)
 {
     float a[]={1,2,3},sum=10,product=10;
    
     cout<<MaxProductSum(a,2,sum,product)<<endl;
    return 0;
 }

Τι θες να κάνει η συνάρτηση;

Πάντως το παραπάνω σωστα μου επιστρέφει -1

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

 
Συμβουλή: να βάζετε τον κώδικά σας σε [code]...[/code] tags και με κατάλληλη στοίχιση!
(Εναλλακτικά, σε [php]...[/php] tags όπου χρωματίζονται κάποιες λέξεις)

Δηλαδή έτσι:
PHP:
if ( x == 42 ) {
  k = I;
  a = l;
  l = u;
}
Κι όχι έτσι:
PHP:
if ( x == 42 ) {
k = I;
a = l;
l = u;
}
Εδώ δεν φαίνεται η διαφορά, αλλά για βάλτε αρκετά if και for το ένα μέσα στο άλλο και εκεί θα κάνει διαφορά.
Ο κώδικας χωρίς στοίχιση απλά ΔΕΝ διαβάζεται. Κι εγώ προσωπικά δεν τον διαβάζω. Απορώ πώς διαβάζετε τους κώδικές σας χωρίς στοίχιση. :P

Bottom line, παραθέτοντας κώδικα όπως σας έδειξα, έχετε περισσότερες πιθανότητες να το διαβάσει κάποιος και να πάρετε απάντηση. :)

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

 
Κύριε Πληροφοριακέ τι σημαίνουν αυτά " #include<iostream>" '
"using namestream std;" "cout<<MaxProductSum(a,2,sum,product)<<end1; εμένα ο μεταγλωτιστής τα παίρνει λαθός.
θέλω μέσα απο ένα σύνολο αριθμών να βρίσκει ποιό είναι μεγαλύτερο το άθροισμα ή το γινόμενο.

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

 
Κύριε Πληροφοριακέ τι σημαίνουν αυτά " #include<iostream>" '
"using namestream std;" "cout<<MaxProductSum(a,2,sum,product)<<end1; εμένα ο μεταγλωτιστής τα παίρνει λαθός.
θέλω μέσα απο ένα σύνολο αριθμών να βρίσκει ποιό είναι μεγαλύτερο το άθροισμα ή το γινόμενο.
Ποιον μεταγλωτιστή χρησιμοποιείς; Μήπως τον gcc (της C) αντί του g++ (της C++) ;
Αν όχι, βάλε τα μηνύματα λάθους εδώ.

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

 
Χρησιμοποιώ Dev C++
μηνυμα λάθους : iostream: No such file or directory.

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

 
Χρησιμοποιώ Dev C++
μηνυμα λάθους : iostream: No such file or directory.
Μήπως έχεις αρχίσει project για C; Το αρχείο κώδικα πρέπει να λήγει σε .cc ή .cpp. Δες και τις ρυθμίσεις του Dev C++ για το μεταγλωττιστή που χρησιμοποιεί.

Το Dev C++ είναι IDE, όχι compiler. Θα χρησιμοποιεί λογικά gcc / g++.

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

 
Κύριε Πληροφοριακέ τι σημαίνουν αυτά " #include<iostream>" '
"using namestream std;" "cout<<MaxProductSum(a,2,sum,product)<<end1; εμένα ο μεταγλωτιστής τα παίρνει λαθός.
θέλω μέσα απο ένα σύνολο αριθμών να βρίσκει ποιό είναι μεγαλύτερο το άθροισμα ή το γινόμενο.

Συγνώμη δεν είδα οτι μιλάς για C επειδή το θέμα είναι για C++..Kοίτα αυτό:
Code:
#include<stdio.h>
#include<stdlib.h>

int MaxProductSum(float *Array,int Dim,float sum,float product)
{
    sum+=Array[--Dim];//1η επανάληψη sum=3,2η επανάληψη sum=5 3η επανάληψη sum=6//
    product*=Array[Dim];//1η επανάληψη product=3 2η και 3η επανάληψη product=6//
    if(Dim==0)//1η και 2η επανάληψη ψευδής,3η επανάληψη αληθής//
    {
       if(sum<product)//6==6 είναι ίσα και επιστρέφει 1//
          return(-1);
       else
           return(1);
    }
    else
        MaxProductSum(Array,Dim,sum,product);
}
int main(void)
{
    float a[]={1,2,3};

    printf("%d",MaxProductSum(a,3,0,1));
    return 0;
}

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

 
Έκανα το αρχειο να ληγει σε .cpp. και γύρναει ακριβως τον ίδιο αριθμ που γυρνούσε πρίν.

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

 
Συγνώμη δεν είδα οτι μιλάς για C επειδή το θέμα είναι για C++..Kοίτα αυτό:
Code:
#include<stdio.h>
#include<stdlib.h>

int MaxProductSum(float *Array,int Dim,float sum,float product)
{
    sum+=Array[--Dim];//1η επανάληψη sum=3,2η επανάληψη sum=5 3η επανάληψη sum=6//
    product*=Array[Dim];//1η επανάληψη product=3 2η και 3η επανάληψη product=6//
    if(Dim==0)//1η και 2η επανάληψη ψευδής,3η επανάληψη αληθής//
    {
       if(sum<product)//6==6 είναι ίσα και επιστρέφει 1//
          return(-1);
       else
           return(1);
    }
    else
        MaxProductSum(Array,Dim,sum,product);
}
int main(void)
{
    float a[]={1,2,3};

    printf("%d",MaxProductSum(a,3,0,1));
    return 0;
}
Αντέγραψα ακρίβως τον κώδικα και βγάζει παλι ασχετο αριθμό .......

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

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

Ναι ήταν λαθος.Επεστρεφε το 1 μόνο την πρώτη φορα βάλε αυτο:
Code:
#include<stdio.h>
#include<stdlib.h>

int MaxProductSum(float *Array,int Dim,float sum,float product)
{
    sum+=Array[--Dim];//1η επανάληψη sum=3,2η επανάληψη sum=5 3η επανάληψη sum=6//
    product*=Array[Dim];//1η επανάληψη product=3 2η και 3η επανάληψη product=6//
    if(Dim==0)//1η και 2η επανάληψη ψευδής,3η επανάληψη αληθής//
    {
       if(sum<product)//6==6 είναι ίσα και επιστρέφει 1//
          return(-1);
       else
           return(1);
    }
    else
       if(MaxProductSum(Array,Dim,sum,product)==1)
           return 1;
        else 
            return -1;
}
int main(void)
{
    float a[]={1,2,3};

    printf("%d",MaxProductSum(a,3,0,1));
    return 0;
}

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

 

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

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