• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pętla powtarza się w nieskończoność

0 głosów
596 wizyt
pytanie zadane 25 grudnia 2016 w C# przez matilogias Obywatel (1,550 p.)
edycja 25 grudnia 2016 przez matilogias

Przy liczbie podpierwiastkowej większej od ok 20 lub zmiennoprzecinkowej pętla powtarza się w nieskończoność

float potega(float a, int n)                     // a^n  
        {
            float c = a;
            for (int i = 1; i < n; i++)
            {
                a = a * c;
            }
            return a;
        }
        
        float pierwiastek(int a, int n)                  // n√a = b <==> b^n = a 
        {
            float mb = (float)0.000001;                  // margines błędu
            float b=0, c = 100, ass = 0;                 // c = przybliżenie ; ass == a
            for (;;)
            {
                ass = potega(b, n);
                if (a - mb <= ass && a + mb >= ass) return b;
                if (ass > a - c && ass < a + c) c = c / 10;
                else if (ass < a) b = b + c;
                else if (ass > a) b = b - c;
            }
        }

PS. gdy podam do pierwiastka a = 4 i n = 2 to wynik jest dobry czyli 2 lecz jeżeli podam a = 25 i n = 2 to program się zacina

1 odpowiedź

0 głosów
odpowiedź 25 grudnia 2016 przez Evelek Nałogowiec (28,960 p.)
Nic dziwnego, skoro zmienna 'a' w funkcji 'potega' wynosi cały czas zero kiedy jest przekazana w funkcji pierwiastek jako b=0.
komentarz 25 grudnia 2016 przez matilogias Obywatel (1,550 p.)
Tylko że zależnie od podanej liczby po jednym lub kilku obrotach pętli b będzie większe

Podobne pytania

0 głosów
1 odpowiedź 880 wizyt
pytanie zadane 25 marca 2020 w C i C++ przez Ola_00 Nowicjusz (210 p.)
0 głosów
3 odpowiedzi 1,587 wizyt
pytanie zadane 3 listopada 2015 w C i C++ przez macik1423 Początkujący (480 p.)
0 głosów
2 odpowiedzi 1,885 wizyt
pytanie zadane 18 kwietnia 2015 w PHP przez makoso Mądrala (7,380 p.)

93,778 zapytań

142,736 odpowiedzi

323,388 komentarzy

63,382 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...