[C] falscher Variablenwert übergeben?

tdnpf

Well-known member
ID: 68755
L
4 Mai 2006
382
32
Hi,

habe folgenden Codeschnipsel.
a ist ein array der länge n+1
es geht darum, das polynom \sum_{0}^{n} a_n*x^n am punkt x näherungsweise mit dem Hohrner Algorithmus näherungsweise auszurechen.

Problem:
aus irgendwelchen Gründen setzt er zwischen der 8. und 10. Zeile k=2. Warum? Was kann ich dagegen machen?

PHP:
#include<stdio.h>

double hohrner(int n,double *a,double x)
{
	double p=a[n];
	int k,j;                            /*Fehler tritt auch auf, wenn ich hier  k=0 setze*/
	printf("moep %d \n",n);
	for(k=0;k<=n;k=k+1);
	{
		printf("%d,  %d, %d \n",k,n,n-k); /*Hier tritt der Fehler auf.*/
		j=n-k;
		p=x*p+a[j];
	}
	return p;
}

Der Horneralgorithmus sieht folgendermaßen aus:
PHP:
p=a_n
for i from n-1 by 1 to 0
p=x*p+a_i
end
Das ergebnis wäre dann p.
 
Zuletzt bearbeitet: