Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » Shark20 01:28
 » BoloX 01:09
 » Martens 00:54
 » Pinokio.p 00:49
 » doxent 00:17
 » Chrisu 00:06
 » XepeR 00:04
 » john565 23:56
 » rooter666 23:55
 » Pio321 23:53
 » muerte 23:44
 » cVas 23:40
 » yanix 23:32
 » Kenny 23:28
 » Flo 23:16
 » dugi 23:12
 » DJopek 23:11
 » ManiusNG 23:02
 » maddog 22:59
 » faf 22:51

 Dzisiaj przeczytano
 41102 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
A R C H I W A L N A   W I A D O M O Ś Ć
    

pomoc w c (c++) , mel2 5/01/04 14:36
sluchajcie mistrzowie - kolezanka dostala takie zadanie:
napisac program znajdujacy z dokladnoscia 0,00000001 rozwiązanie rowniania:
8,4^x=x^77+6,7^8,5

Pomoze ktos ?

Don't lose your head,
There can be only one.

  1. Chyba nie trudne , maciusk 5/01/04 14:51
    Czy program ma używać jak najoptymalniejszej metody, czy mam poprostu działać?
    Proponuję przejrzeć jakąś książke z metod numerycznych, a jeśli nie masz takich to daj znać, może znajdę troszkę czasu i coś wykombinuję, pisałem kiedyś takie programiki tyle, że w pascalu.

    MSI 683dx

    1. chyba ma poprostu dzialac , mel2 5/01/04 15:01
      ja tam z c (c++) nic nie wiem praktycznie - wiec dlatego prosze o pomoc

      Don't lose your head,
      There can be only one.

    2. co to znaczy , bor@s 5/01/04 18:31
      najoptymalniejsza metoda?

      1. boras , h-doc 5/01/04 18:35
        Zapytaj w Chipie - oni bez przerwy używają określeń w stylu "najoptymalniejszy" lub "najbardziej optymalny" ;-)))
        Kiedyś chciałem ich nawet za to zbluzgać, ale dałem sobie spokój...

  2. hmmm , h-doc 5/01/04 18:33
    wygląda mi to na na krzywą będącą wypadkową eksponenty i paraboli. W takim przypadku są dwa rozwiązania. Ponieważ jest to równanie nieliniowe trzeba rozwiązań poszukiwać metodami iteracyjnymi. Jest to stosunkowo proste:
    1. zadajesz punkt początkowy (seed)
    2. posuwasz się o jeden krok w lewo i o jeden w prawo i sprawdzasz który jest bliżej zera
    3. podążasz w wybranym kierunku aż do osiągnięcia wartości 0

    Cały proces powtarzasz aż do uzyskanaia kompletu rozwiązań (kolejne rozwiązania otrzymujesz w zależności od doboru punktu startowego). Krok dopasowujesz w zależności od wymaganej prędkości działania i pożądanej dokładności wyniku. Możesz stosować adaptację kroku w celu zoptymalizowania działania programu.

    Operować tu bęziesz na dość dużych liczbach, więc 64-bitowy typ zmiennoprzecinkowy będzie tu mile widziany.

    1. hmmmm , mel2 5/01/04 18:36
      bardzo ladnie mi to wytlumaczyles - tylko jak napisalem nie znam tych jezykow (jakby byl basic to moze bym cos wymyslil :)) - wiec jakbys to w instrukcje ubral to bylbym jeszcze bardziej wdzieczny :).
      Dlugi taki program mialby byc?
      Bo jak dlugi to chyba rzeczywiscie o za duzo prosze.

      Don't lose your head,
      There can be only one.

      1. wiesz co, , h-doc 5/01/04 18:45
        Robiłem kiedyś coś takiego na laborce ale to było chyba w pascalu napisane. Zaraz poszukam i ewentualnie podrzucę.

        1. dzieki - dobry i pascal , mel2 5/01/04 18:48
          moze se bedzie umiala przekonwertowac - chyba zeby nie :(

          Don't lose your head,
          There can be only one.

  3. no dobra, rzucam progsem , h-doc 5/01/04 18:49
    przy okazji przypomniałem sobie, że są 4 metody (to znaczy do 4 metod mam programy) - polowienia przedziału, regula-falsi, stycznych i siecznych. Prezentowany program to najprostsza metoda - połowienia. Niestety - Turbo Pascal.
    Powodzenia przy tłumaczeniu na C!

    program polowienie;
    {$N+}

    {
    Program POLOWIENIE sluzy do odnajdywania pierwiastkow rownania nieliniowego
    metoda polowienia przedzialu. Funkcja zadeklarowana jest w funcji
    f(x:real):real. Glowna procedura programu oblicz(a,b:real) jest procedura
    rekurencyjna.

    Program powstal w sobotni poranek 31 X 1998.
    Copyright by Michal Wilczak
    }

    uses crt;

    type real=extended;

    const
    z1=12; { liczba wyswietlanych cyfr }
    z2=10; { liczba cyfr po przecinku }
    delta=0.0001; { dokladnosc poszukiwan }

    var
    a,b : real; { poczatkowy przedzial poszukiwan }
    q : integer; { numer iteracji }

    function f(x:real):real;
    begin f:=6.98*sqr(x)+3.55*x-1.34444 end;

    procedure wyswietl(pierwiastek,wartosc:real;iteracja:integer);
    begin
    writeln;writeln;
    writeln('Iteracja numer ',iteracja);
    writeln('Pierwiastek ',pierwiastek:z1:z2);
    writeln('Wartosc f(pierwiastek) ',wartosc:z1:z2);
    if abs(wartosc)<=delta then writeln('BLAD < DELTA ');
    readln;
    end;

    procedure oblicz(a,b:real);
    var
    x : real;
    begin
    inc(q);
    x:=(a+b)/2;
    wyswietl(x,f(x),q);
    if f(a)*f(x)<0 then oblicz(a,x) else oblicz(x,b)
    end;

    begin
    clrscr;
    q:=0;
    a:=-10;
    b:=10;
    oblicz(a,b)
    end.

    1. dzieki , mel2 5/01/04 19:07
      pomoze ktos dalej?

      Don't lose your head,
      There can be only one.

    
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL