Pierwiastkowanie 3 stopnia

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.

2
pow(8,(1.0/3))
0

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

2

Temu:

#include <stdio.h>

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

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

0

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

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