Hallo,
ich hab fast keine Ahnung von Programmierung und steh hier vor einem zur Zeit für mich unlösbarem Problem. Ich hab eine Programm mit dem ich die Nullstellen eines Polynoms berechnen kann. Soviel dazu.
Jetzt soll ich das Programm in Unterprogramme zerlegen und umschreiben. Es soll ein C-Programm bleiben! Irgendwie mit "void" oder so?!
So sieht der Code aus:
#include "stdafx.h"
int main(int argc, char* argv[])
{
const int n = 6;
const double eps = 1E-6;
double P[n];
double PS[n-1];
double startwert;
double y;
double ys;
double xn;
int inp;
do {
for(int i=n; i--; ) {
printf("a[%d] = ",i);
float x;
scanf ("%f",&x);
P = x;
}
printf("startwert = ");
float x;
scanf("%f",&x);
startwert = x;
xn = startwert;
for(i = n-1; i--; ) {
PS = (i+1)*P[i+1];
}
y = P[n-1];
for (i = n-1; i--; ) {
y *= xn;
y += P;
}
while ((-eps > y) || (y > eps)) {
ys = PS[n-2];
for (i = n-2; i--; ) {
ys *= xn;
ys += P;
}
xn = xn - y/ys;
y = P[n-1];
for (i = n-1; i--; ) {
y *= xn;
y += P;
}
}
printf("Nullstelle x = %10.5f zum startwert = %10.5\n",xn,startwert);
printf("Funktionswert y = %10.5f Ableitung y' = %10.5f\n",y,ys);
printf("Weiter? Abbruch mit 0");
scanf("%d",&inp);
}while (inp != 0);
return 0;
}
Bin über jeden Tip dankbar!
Richtex Gast |