im begginer en C# et la programmation en général et je veux demander. J'essaie de faire un projet avec datagridview et quelques calculs. Fondamentalement ce que je veux faire est à partir de la table des données empiriques aproximate les données avec l'aproximation de chebyshev. En utilisant le code de recettes numériques que je veux utiliser ce auj, chebft et il ressemble à ceci:C# recettes numériques
void chebft(NRREAL a, NRREAL b, NRREAL c[], int n, NRREAL (*func)(NRREAL))
{
int k,j;
NRREAL fac,bpa,bma,*f;
f=vector(0,n-1);
bma=NR_1_2*(b-a);
bpa=NR_1_2*(b+a);
for (k=0;k<n;k++) {
NRREAL y=cos(NR_PI*(k+NR_1_2)/n);
f[k]=(*func)(y*bma+bpa);
}
fac=NR_2/n;
for (j=0;j<n;j++) {
NRZEAL sum=NR_0;
for (k=0;k<n;k++)
sum += f[k]*cos(NZ_PI*j*(k+NZ_1_2)/n);
c[j]=fac*(NRREAL)sum;
}
free_vector(f,0,n-1);
}
et je veux utiliser en C# donc ce que j'ai jusqu'à présent:
public void chebft(double a, double b, double[] c, int n, double func)
{
int k,j;
double fac, bpa, bma;
double PI = 3.14159265358979323846;
Vector f = new Vector(0, n - 1);
bma = 0.5 * (b - a);
bpa = 0.5 * (b - a);
for (k = 0; k < n; k++)
{
double y = Math.Cos(PI*(k+0.5)/n);
f[k] = (func)(y*bma+bpa);
}
fac = 2.0/n;
for (j = 0; j < n; j++)
{
double sum = 0.0;
for (k = 0; k < n; k++)
{
sum += f[k] * Math.Cos(PI * j * (k + 0.5)/n);
c[j] = fac * (double)sum;
}
}
}
Je sais il y a des erreurs dans cette partie func et f [k] part, mais je ne sais pas comment les réparer.
Merci pour l'aide
Vous devez en savoir plus sur les délégués C#. –
En plus d'apprendre à déboguer du code, vous devriez aussi lire [mcve] et [demander] des informations importantes sur la façon de poser une question à Stack Overflow, les informations requises et comment vous assurer que vous avez présenté votre question d'une manière claire et responsable. Entre autres choses, vous écrivez _ "Je sais qu'il y a des erreurs" _, mais vous ne partagez pas avec nous pourquoi vous le savez, et vous ne fournissez pas un MCVE qui révèle ces erreurs, et n'expliquez pas pourquoi vous ne le faites pas. savoir comment les réparer. –