[ create a new paste ] login | about

Link: http://codepad.org/OgqUfEhC    [ raw code | output | fork ]

misterunknown - C, pasted on Feb 21:
/***********************************************
 * Sinusberechnung mit Taylor-Reihenentwicklung
 * 
 * Marco Dickert
 * http://misterunknown.de
 * http://themisterunknown.blogspot.com
 **********************************************/
#include <stdio.h>

//Potenzberechnung bei nat├╝rlichen Exponenten
double hochInt(double base, int exponent) {
	double ret = 1.0;
	int i = 0;
	for(i = 0; i < exponent; i++)
		ret = ret * base;
	return ret;
}
// Fakult├Ątsberechnung
int fakultaet(int f) {
	if(f<=0)
		return 1;
	else
		return (f * fakultaet(f-1));
}
//Sinusberechnung mit Taylor-Reihenentwicklung
double sinus(double x, double summe, int iteration) {
	double glied = ( hochInt(x, (2 * iteration + 1) ) / fakultaet(2 * iteration + 1) );
	if( fabs(glied) >= 0.00001 ) return sinus(x, summe + (hochInt(-1.0, iteration) * glied), iteration + 1);
	else return (summe + hochInt(-1.0, iteration) * glied);
}

int main(void) {
	double x = 0.0, tmp = 0.0;
	int k = 0;
	printf("Sinusberechnung mit Taylor-Reihenentwicklung\nBitte geben sie eine Zahl ein: ");
	// Benutzereingabe
	//scanf("%lf", &x);
	
	printf("Das Ergebnis ist: %lf", sinus(1.4,0,0));
	return 0;
}


Output:
1
2
Sinusberechnung mit Taylor-Reihenentwicklung
Bitte geben sie eine Zahl ein: Das Ergebnis ist: 0.985450


Create a new paste based on this one


Comments: