[C] prosba o sprawdzenie błędu

0

siema, mam na jutro na poprawienie oceny semestralnej w liceum do oddania program, który oblicza przybliżone pole pod wykresem funkcji na danym przedziale. wszystki niby mam zrobione tylko na koncu podaje mi wynik, jakby to nie był 'Lf' tylko zwykły 'f', nie wiem gdzie jest błąd, google też nie wiedzą, wszyscy znajomi, którzy w miare ogarniają programowanie też nie wiedzą, więc serdecznie prosze o przejrzenie mojego kodu, szczególnie miejsca przy wypisywaniu lub obliczaniu całki

 
#include <stdio.h>
#include <cstdlib>

struct wiel {
	int st; // stopien wielomianu
	long double wsp[100]; //tab przech wartosci wsp przy kolejnej potędze
	long double x; //sprawdzanie wartosci dla tego punktu
	long double wynik;
	long double a, b, h;
	long double calka;
};

int calka()
{
	int i, j, k, zmien_st, zmien_x=1; // zmienna przydatne przy pętlach

	struct wiel W;
	printf("Stopien wielomianu: ");
	scanf("%d", &W.st);
	zmien_st=W.st;
	for(i=0;i<W.st+1;i++)
	{
		printf("Podaj wspolczynnik wielomianu przy %d potedze ", zmien_st);
		scanf("%Lf", &W.wsp[i]);
		zmien_st--;
	}
	printf("Podaj dolna granice: ");
	scanf("%Lf", &W.a);
	printf("Poraj gorna granice: ");
	scanf("%Lf", &W.b);
	printf("Podaj h: ");
	scanf("%Lf", &W.h);
	zmien_st=W.st;
	W.wynik=0;

	for(k=1;W.a+k*W.h<W.b;k++)
	{
	W.x=W.a+k*W.h;
		for(i=0;i<W.st+1;i++)
		{
			for(j=0;j<zmien_st;j++) // ten for oblicza potęgę
			{
			zmien_x*=W.x; 
			}
			W.wynik+=W.wsp[i]*zmien_x; 

			zmien_x=1;
			zmien_st--;
		}
		W.calka+=W.wynik*W.h;
	}
	printf("Wynik: %Lf", W.calka);

	return 0;
}

int main()
{
	calka();
	system("Pause");
	return 0;
}

PS: nie pytajcie dlaczego to wszystko jest w funkcji:-P Z góry dziękuję

0

http://wklej.org/id/453941/

tutaj z dokładniejszymi opisami wrzuciłem

0

Tak na pierwszy rzut oka: nie zerujesz pola calka tej struktury.

1 użytkowników online, w tym zalogowanych: 0, gości: 1