kosmo007 Opublikowano 31 Marca 2005 Zgłoś Opublikowano 31 Marca 2005 Oto tresc zadania: Obliczyc dlugosc krzywej wyrazonej zaleznoscia: y=xx - sin(x) - 1 w danym przedziale (a,B) z dokladnoscia do epsilon. Wskazowka: Zastapic krzywa przez lamana i sukcesywnie zwiekszac liczbe przedzialow wyznaczajacych odcinki od czasu, gdy kolejna zmiana dlugosci lamanej stanie sie mniejsza od epsilon. Jestem kompletnie zielony z programowania i nie mam pojecia jak napisac taki algorytm. Mam to zrobic w c. Dziekuje Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Prog Opublikowano 31 Marca 2005 Zgłoś Opublikowano 31 Marca 2005 ... znasz całki ... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Nargil Opublikowano 31 Marca 2005 Zgłoś Opublikowano 31 Marca 2005 (edytowane) nie musi znac ;P PHP struct punkt { float x,y; }; float f(float px) { return px*px-sin(px)-1; } int main(){ float dlugosc=0; punkt p1,p2; p1.x=(punkt poczatku krzywej); p1.y=f(p1.x); p2.x=(punkt konca krzywej); p2.y=f(p1.x); float dokladnosc=0.0001; // tu ustawiasz dokladnosc obliczania for(float i=p1.x; i<=p2.x; i+=dokladnosc) { p2.x = i; p2.y = f(p2.x); dlugosc+=sqrt(powf(p2.x - p1.x) + powf(p2.y - p1.y)); p1 = p2; } cout << dlugosc; return 0; } TO NIE JEST ROZWIAZANIE ZADANIA, ale to ci powinno pomoc. Musisz dorzucic sukcesywne zmniejszanie(zwiekszanie) dokladnosci jesli sqrt(powf(p2.x - p1.x) + powf(p2.y - p1.y)), wyjdzie > epsilon swoja droga jak czegos takiego nie potrafisz to co ty robisz na tych studiach ? Ja koncze dopiero liceum. ( i nie jestem lamusem, jak sobie pewnie teraz myslisz ;p ) Edytowane 31 Marca 2005 przez Nargil Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...