>>304
C言語ではブロック内の変数宣言は最初の実行文の前に置かないとエラーになる
つまり次のように入れ替える

isset[idx] = 1;
const double theta = M_PI / num;
↓
const double theta = M_PI / num;
isset[idx] = 1;

あとVC++の場合、>>306のようにM_PIが定義されてないといわれるかもしれない。
そのときはmath.hをインクルードする前に、次のマクロ定義を書いておく

#define _USE_MATH_DEFINES /* ←これを書く */
#include <math.h>