Pierwiastkowanie 3 stopnia

Pierwiastkowanie 3 stopnia
C3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

Witam, w programie do obliczania pierwiastków równania potrzebuję użyć pierwiastka 3 stopnia, problem polega na tym, że poprzez pow(8,(1/3)) (przykład) wychodzi mi 1 zawsze przez co zawsze wychodzą mi bzdurne wyniki, kod programu:

#include <stdio.h>
#include <math.h>
float obl(float x, int i)
{float c=1/3,d;
if(i>1){
d=pow(obl(x,i-1),(c));
x= pow(1000,c);
x=x-d;
return x;

}
else return x=10;
}

int main()
{float x=1;
float i=7; //dokladnosc, im wiecej tym lepiej
x=obl(x,i);
printf("%f\n",x);
return 0;
}

Wiem że w funkcji rekurencyjnej można to spokojnie skrócić, ale szukając błędu stosowałem już różne próby. Pozdrawiam.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
2
Kopiuj
pow(8,(1.0/3))
C3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

Dzięki, zaczeło działać, przepraszam za brak formatowania, a można wiedzieć czemu tak trzeba zrobić? Dzięki

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
2

Temu:

Kopiuj
#include <stdio.h>

int main()
  {
   float c=1/3;
   printf("%f\n",c);
   return 0;
  }

W C/C++ dwa rodzaje dzielenia, oba zapisywane znakiem '/'.

C3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

Super, nie wiedziałem o tym, dzięki wielkie!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.