Ciao a tutti, sono nuovo di questo forum e mi sono iscritto per una neonata passione per la programmazione in c++ e perchè devo dare un'esame di informatica.
sto scrivendo il do while loop che ho allegato e mi sono accorto che funziona correttamente solo se dichiaro il contatore int c preceduto da una & qualcuno sa spiegarmi il perchè? grazie.
ps.: il while do serve per trovare lo zero di una unzione con il metodo delle secanti.
#include<cmath>
#include"Secanti.h"
#include"Funzione.h"
double Zero(double a, double b, double epsilon, int &c)
{
double xzero;
int contatore;
int max;
c = 0;
max = 1000;
do
{
c++;
xzero = a-f(a)*(b-a)/(f(b)-f(a));
b = xzero;
if(contatore >= max)
{
c = 0;
break;
}
}
while(fabs(f(xzero)) >= epsilon);
return xzero;
}