Wątek przeniesiony 2016-02-02 15:18 z C/C++ przez Ktos.

Program obliczający całkę oznaczoną.

0

Witam, muszę napisać program obliczający całkę w języku C. Do wyboru metoda prostokątów, trapezowa, Simpsona.
Jakieś podpowiedzi od czego zacząć? Dodam że jestem bardzo zielony w tym temacie, więc musicie prowadzić za rękę. Z góry dziękuję za pomoc. Całka znajduje się w załączniku.

7
aezakmi napisał(a):

więc musicie prowadzić za rękę

niby z jakiej racji musimy robic cokolwiek?
zreszta to jest forum. Zadaj konkretne pytanie.

3

Oczekujesz pomocy czy rozwiązania za Ciebie?

  1. Jeśli pomocy: pokaż kod, staraj się zastosować do Dlaczego nikt nie odpowiada w moim wątku?
  2. Jeśli wykonania za Ciebie: http://4programmers.net/Forum/Og%C5%82oszenia_drobne (jestem w stanie wykonać zadanie za zaledwie 250zł)
3
  1. Przeczytać byle podręcznik do C.
  2. Zapoznać się z funkcjami - exp() i sqrt()
  3. Przeczytać na czym polegają wspomniane metody
0

Nie musicie nic, po prostu jeżeli ktoś chciałby pomóc to od razu napisałem że nie mam pojęcia o pisaniu programów. Nie potrafię zdefiniować funkcji, zapisać obliczeń w kodzie oraz nie wiem jak zapisać początek, koniec przedziału całkowania.

5

Przecież nikt nie ma czasu, żeby wykładać Tobie programowanie od podstaw. Musisz wykazać inicjatywę i mieć coś napisane, żeby można było Tobie pomóc.

1

@aezakmi

Nie potrafię zdefiniować funkcji, zapisać obliczeń w kodzie oraz nie wiem jak zapisać początek, koniec przedziału całkowania.

To po co poszedłeś na studia informatyczne, skoro** nie chcesz** (a nie, że nie potrafisz) nauczyć się podstaw programowania, co jest (chyba) wymagane na studiach IT?

Potem wrócisz na forum i napiszesz idiotyczny temat jaki miał miejsce jakiś czas temu "Chcę zaskarżyć uczelnię bo się nic nie nauczyłem".

2

Nie denerwujecie go, on oczekuje pomocy a nie pouczeń.

2

Masz tutaj przykładowy kod, na którym można się wzorować (ale lepiej nie).

Rozwiązanie wykorzystuje rekursję, jak chcesz być traktowany poważnie to musisz je przerobić na iteracyjne, co już pozostawiam Tobie.

template<double(*Func)(double)>
struct Simpson
{
	Simpson(double min, double max, int steps = 1000):
		min(min),
		max(max),
		step((max-min)/steps)
	{
	}

	double operator()() const {
		return (*this)(min);
	}

	double operator()(double m) const {
		if(m >= max) return 0e9;

		return	Func(m) * step / 6 +
				Func(m+step/2) * step * 2 / 3 +
				Func(m+step) * step / 6 +
				(*this)(m+step);
	}

	double min;
	double max;
	double step;
};

http://melpon.org/wandbox/permlink/RmWwVzCna2RA9qcG
http://www.wolframalpha.com/input/?i=%E2%88%AB+sqrt%28x+*+exp%28-x^2%29%29,+x+%3D+%CF%80%2F2..%CF%80

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