THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => C / C++ / C# => Topic started by: giostau on June 01, 2005, 12:43:49 pm



Title: return values
Post by: giostau on June 01, 2005, 12:43:49 pm
Πως μπορώ να ορίσω ότι μια συνάρτηση στην c++ θα επιστρέφει στην main δύο τιμές (ας πούμε δύο πίνακες);
και φυσικά να τις χρησημοποιήσω στη συνέχεια...

το αντίστοιχο στο matlab είναι [var1 , var2] = function(arguments)
στην c++ πως γίνεται αυτό;

Ευχαριστώ


Title: Απ: return values
Post by: Axel on June 01, 2005, 13:26:09 pm
πες οτι εχεις πχ τη συναρτηση
void fun(int &k, int n) {
n=n+1;
k=k+1;
}
Οταν την καλεσεις απο τη main η τιμη της μεταβλητης k θα αλλαξει και στη main, ενω η τιμη της n θα αλλαξει μονο μεσα στη συναρτηση. Επομενως καλεις τη συναρτηση με τις μεταβλητες που θες ος ορισματα &variable και ετσι επιστρεφεις στη main καινουργιες τιμες για οσες μεταβλητες θες. Ελπιζω να καταλαβες τι εννοω.


Title: Re: return values
Post by: giostau on June 01, 2005, 14:01:54 pm
ΟΚ. αυτό το κατάλαβα.
αν όμως θέλω αν κάνω κάτι τέτοιο:

funcion( int n , int k){
a=n*k;
b=n+k;
}

τότε τι γίνεται;
πως θα ενημερωθούν και το a και το b;


Title: Απ: return values
Post by: Axel on June 01, 2005, 15:15:24 pm
Απ'οτι καταλαβα θες κατι τετοιο??
Code:
#include <iostream.h>
void fun(int k, int n, int &a, int &b);
void main() {
int k=1;
int n=1;
int a=2;
int b=4;
fun(k,n,a,b);
cout <<"k= " <<k <<" n= " <<n <<" a= " <<a <<" b= " <<b <<"\n";
}

void fun(int k, int n, int &a, int &b) {
a+=k;
b+=n;
k+=1;
n+=1;
}


Title: Απ: return values
Post by: BOBoMASTORAS on June 03, 2005, 17:17:34 pm
Απ'οτι καταλαβα θες κατι τετοιο??
Code:
#include <iostream.h>
void fun(int k, int n, int &a, int &b);
void main() {
int k=1;
int n=1;
int a=2;
int b=4;
fun(k,n,a,b);
cout <<"k= " <<k <<" n= " <<n <<" a= " <<a <<" b= " <<b <<"\n";
}

void fun(int k, int n, int &a, int &b) {
a+=k;
b+=n;
k+=1;
n+=1;
}

Αν αυτό δε σε ικανοποιεί μπορείς να βάλεις η συνάρτηση σου να επιστρέφει ένα struct το οποίο θα έχεις ορίσει κάπου και θα περιέχει τις 2 μεταβλητές που θέλεις

struct retval{
int a;
int b;
}

struct retval function1(void)
{
        struct retval r;
        r.a=15;
        r.b=25;
       return(r);
}

Ελπ'ιζω να βοήθησα!!!!!!