No.3ベストアンサー
- 回答日時:
#include <stdio.h>
#include <memory.h>
#include <math.h>
#define PI 3.1415
void main()
{
int x, y;
int ival;
double dval;
char graph[21][38];
memset(graph, ' ', sizeof(graph));
for (x=0; x<=36; x++) {
dval = 10.0 * sin(((double)x * 10.0 * PI) / 180.0);
if (dval < 0)
ival = (int)(dval - 0.5);
else
ival = (int)(dval + 0.5);
graph[ival+10][x] = '*';
}
for (y=20; y>=0; y--) {
graph[y][37]='\0';
puts(graph[y]);
}
}
No.2
- 回答日時:
#include <stdio.h>
int main() {
printf("000 .....*....\n");
printf("010 .....*....\n");
printf("020 ......*...\n");
printf("030 .......*..\n");
printf("040 ........*.\n");
printf("050 ........*.\n");
printf("060 .........*\n");
printf("070 .........*\n");
printf("080 .........*\n");
printf("090 .........*\n");
printf("100 .........*\n");
printf("110 .........*\n");
printf("120 .........*\n");
printf("130 ........*.\n");
printf("140 ........*.\n");
printf("150 .......*..\n");
printf("160 ......*...\n");
printf("170 .....*....\n");
printf("180 .....*....\n");
printf("190 ....*.....\n");
printf("200 ...*......\n");
printf("210 ..*.......\n");
printf("220 .*........\n");
printf("230 .*........\n");
printf("240 *.........\n");
printf("250 *.........\n");
printf("260 *.........\n");
printf("270 *.........\n");
printf("280 *.........\n");
printf("290 *.........\n");
printf("300 *.........\n");
printf("310 .*........\n");
printf("320 .*........\n");
printf("330 ..*.......\n");
printf("340 ...*......\n");
printf("350 ....*.....\n");
printf("360 ....*.....\n");
return 0;
}
まず、1行を考えます。
・数字の桁を揃えて表示するには?
・x度のときの振幅10のsinの値の求め方は?
・C言語でsin関数を使うには、どうすればいい?また、角度の単位は何になってますか?度からその単位に変換するには?
・そのsin(x)の位置に"*"を置くなら、前後の"."(スペースとか別の文字でもいいですが)の数はそれぞれいくつ?
・その数だけ"."を表示するには?いろんな方法があるけど、「"."を表示」をその数だけ繰り返すには?
・以上の処理を、角度を0度から360度まで10度刻みでxを変化させて繰り返すには?
No.1
- 回答日時:
丸投げするよりも ご自身で何処まで理解なさっているのかを示しましょう
SIN波を描きたいのであればCのランタイムライブラリのsin関数を使うのでしょうから
#include <math.h>
はとりあえず必須でしょうね
ランタイム関数のsinですと引数はラジアンですので 円周率PI(パイ)の定数を記述しないといけないでしょう
これは tan(1)*4 や 3.1415492などを使うことになると思います
ラジアン = 角度*円周率/180
といった公式がありますので振幅の計算に使ってください
0から360まで 10刻みなら
for( n = 0; n < 361: n+= 10 ) {
// ココに振幅の計算処理
}
とか
n = 0;
while( n < 361 ) {
// ココに振幅の計算処理
n += 10;
}
といった具合でしょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ちょっと先の未来クイズ第2問
9月9日(月)に発表される「第3回子どもマネー川柳」に入賞する川柳を考えてこちらに投稿してください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
sinカーブの表示のさせ方
C言語・C++・C#
-
c言語でグラフをつくる
C言語・C++・C#
-
サインカーブを計算したい
C言語・C++・C#
-
-
4
C言語で矩形波生成方法
C言語・C++・C#
-
5
任意の周波数の正弦波(サイン波)を生成する方法
C言語・C++・C#
-
6
C言語についてです。 アスタリスクを用いて、短形波を描きたく、for文を使えば良いかと思うのですがど
C言語・C++・C#
-
7
for文 アスタリスクで形を作る
C言語・C++・C#
-
8
0xffffとは?
C言語・C++・C#
-
9
C言語プログラムについて質問です。 画像に正弦波を加えるというプログラムを教科書を見よう見まねで作り
C言語・C++・C#
-
10
C言語で、配列を使ったsinカーブの書き方を教えてください
C言語・C++・C#
-
11
c++でサインカーブ、コサインカーブ、タンジェントカーブを表示するプログラムを教えてください。お願い
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストカーソル位置の取得
-
printf で二進表示を行いたい。
-
コンパイルエラーについて
-
既約分数の表示プログラム
-
C言語について
-
c言語超初心者です。教えてくだ...
-
オセロを作成 助言お願いしま...
-
wsprintfの書式制御文字列につ...
-
【C言語教えてください】sin波...
-
for文内でscanf関数により配列...
-
ホームページをC言語で作りたい...
-
16bitのパラレル送信がうまくい...
-
プログラミングの問題です。 C+...
-
【C初心者】+,-,*./について【...
-
分数を表示するプログラム(長...
-
4の倍数を論理演算で表す。。
-
C言語で四則演算を使って結果が...
-
C言語
-
C言語 この問題が分かりません...
-
円の面積を求めるプログラミン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンパイルエラーについて
-
printf で二進表示を行いたい。
-
c言語でAからZまでを表示する...
-
テキストカーソル位置の取得
-
4の倍数を論理演算で表す。。
-
cshの文字列操作(0埋め)
-
【C言語教えてください】sin波...
-
10個出力で改行したいのですが...
-
wsprintfの書式制御文字列につ...
-
error C2143: 構文エラー : ';'...
-
printfの出力内の文字をdefine...
-
%P と %X の違い
-
C言語
-
strcmp
-
(C言語)めちゃくちゃな値にな...
-
コマンドラインに出力した文字...
-
スレッドとメッセージキューに...
-
printf( " %2d", p * q );
-
Visual Sutdio 2017 でのC言語...
-
defineで定数が置き換えられな...
おすすめ情報