PDA

Visualizza la versione completa : Passare risultato funzione come parametro ad un altra funzione


gaten
18-11-2008, 20:13
Ragazzi salve, Io ho una funzione VOID, dalla quale restituisco un valore in questo modo:

void dispari ( int k, int *r ) {

int cont, acc;
cont = 1;
acc = 0;

do {

if ( acc >= 1 ) {
cont = cont + 2;
acc = acc + cont;
}
if ( cont == 1 )
acc = acc + cont;

} while ( cont < k );

*r = acc;
}

Adesso praticamente il risultato di questa funzione deve essere un parametro di input per un altra funzione VOID come devo fare?

oregon
18-11-2008, 20:27
Come chiami la prima funzione nel main ? E come chiami la seconda ?

gaten
18-11-2008, 20:34
Rispettivamente in questo modo:

dispari(k, &r);
cout << "La somma dei numeri dispari da 0 a " << k << " e':\t" << r << "\n";

primo(&r, &s);
cout << "1. Numero non primo\n2. Numero primo\n\n Risultato:\t" << s;

gaten
18-11-2008, 20:34
Questa è la funzione primo:

void primo ( int *r, int *s ) {

int cont = 1;
*s = 2;

do {

if ( *r % cont == 0) {

*s = 1;

}

cont = cont + 1;

} while ( cont < *r );

}

oregon
18-11-2008, 20:39
Perche' utilizzi un puntatore per il primo parametro della funzione

void primo ( int *r, int *s ) {


??

gaten
18-11-2008, 20:46
Perchè dovrei passare il risultato della funzione dispari, come parametro alla funzione primo, la quale deve controllare se il risultato è un numero primo oppure no

oregon
18-11-2008, 20:49
Io ti ho chiesto perche' con un puntatore?

Si usa il puntatore solo se devi *modificare* il valore, altrimenti si passa come hai fatto per il primo parametro della funzione dispari ...

Loading