c++

Messaggioda zerbo1000 » 25/10/2018, 17:25

perchè qui devo mettere & per definire la variabile g nella funzione poli_read all inizio del programma ?

é legato col fatto che l'array è essostesso un array puntatore cioè dinamico? non capisco cosa cambiarebbe se non metto &

Codice:
double *poli_read(int &g)
{
  double *p;

  cout << "Grado del polinomio: ";
  cin >> g;
  cout << "Coefficienti:\n";
  p=new double[g+1];
  for(int i1=0;i1<=g;i1++)
    cin >> p[i1];
  return p;
}


premetto che il programma aveva questa parte all inizio dove "g" era gia apparso:

using namespace std;

Codice:
void poli_print(double *p, int g)
{
  for(int i1=0;i1<=g;i1++)
  cout << p[i1] << " ";
  cout << endl;
}
Una mente matematica cerca un fine, una mente artistica lo stabilisce.
zerbo1000
Senior Member
Senior Member
 
Messaggio: 600 di 1244
Iscritto il: 13/04/2015, 20:29

Re: c++

Messaggioda Nosba » 26/10/2018, 16:35

Allora.. ti consiglio di andare a leggere ed imparare i concetti di:
-Puntatore (http://www.dsi.unive.it/~labprog/lezion ... ione6.html);
-Reference (https://www.italiancpp.org/2013/08/23/p ... ivi-senza/);
-Passaggio di parametri per valore e riferimento (https://www.html.it/pag/15499/parametri ... ferimento/);

Questi tre argomenti sono parte della base fondamentale di conoscenze che devi avere prima ancora di iniziare a scrivere un programma che usa funzioni come quelle che hai descritto.

Detto ciò nella funzione che chiama poli_read tu dovrai creare una variabile intera e passarla alla funzione:
Codice:
....
int var;
double *array;
array = poli_read(var);
...
delete[] array; // per evitare memory leak


ora subito dopo la chiamata a poli_read dentro alla variabile g avrai il valore della lunghezza dell'array stesso.

P.S. Cercando dei tutorial in inglese si possono trovare cose molto più valide di quelle che io ti ho proposto nei link.
Nosba
Starting Member
Starting Member
 
Messaggio: 7 di 22
Iscritto il: 10/04/2015, 20:05

Re: c++

Messaggioda zerbo1000 » 26/10/2018, 17:22

continuo a non capire le differenze tra * e & non hai qualche link con molto esempi che capisco meglio con quello che con le parole? grazie mille
Una mente matematica cerca un fine, una mente artistica lo stabilisce.
zerbo1000
Senior Member
Senior Member
 
Messaggio: 602 di 1244
Iscritto il: 13/04/2015, 20:29


Torna a Informatica

Chi c’è in linea

Visitano il forum: utente__medio e 1 ospite