dポイントプレゼントキャンペーン実施中!

sin と cosのグラフを作成しようとしているのですが、思うように行かず、悩んでいます。

一応試行錯誤の結果、下のようなプログラムを書いたのですが、コンパイルが成功しても何も表れないという悲しい現実が待っていました。*を表示させる部分を省くと、グラフが書けるのですが、そもそも三角関数を扱っているのにxを角度で表現するということすらできません。
有識者の方の回答をお待ちしています。よろしくお願いします。

なお、開発環境はwindows visual studio 2008のC++です。


#include <stdio.h>
#include <math.h>

#define Xmax 40
#define Ymax 40

char a[Xmax][Ymax],x,y;
int myf(float x);

int main(void){


for(x=0;x<Xmax;x++){
for(y=0;y<Ymax;y++){
a[x][y]=' ';
}
}

for(y=0;y<Ymax;y++){
a[Xmax/2][y]='-';
}
for(x=0;x<Xmax;x++){
a[x][Ymax/2]='|';}

a[Xmax/2][Ymax/2]='+';

for(x=0;x<Xmax;x++){
for(y=0;y<Ymax;y++){
int y = myf(sin(x));
if(y>=0&&y<=1)
a[x][y]='*';
}
}

for(x=0;x<Xmax;x++){
for(y=0;y<Ymax;y++){
int y = myf(cos(x));
if(y>=0&&y<=1)
a[x][y]='*';
}
}
for(x=0;x<Xmax;x++){
for(y=0;y<Ymax;y++){
printf("%c",a[x][y]);
}
printf("\n");
}
}

int myf(float x){

double sin(double x);
double cos(double x);

y=sin(x);
y=cos(x);


return 5*cos(x);

}

A 回答 (2件)

そもそも、sinとかcosとかに渡す引数はラジアンである、ということはおわかりでしょうか。

    • good
    • 0

ちと gnuplot で確かめてみたけど, このプログラムなら「何も表れない」... じゃない, 「何も現れない」のが正解.



そもそもどんな関数のグラフを出したいの?



普通 x は横軸にとりそうな気がするけど....
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!