C言語:forでコサインカーブ

| トラックバック(0)
※C言語初心者の為、内容に不備がある可能性があります。

C言語の練習続き

forを使ってコサインカーブを出してみる。

/* cos01.c*/

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

int main() {
  int i, j, genbun = 5;
  double rad, cosvalue, pai = 3.14;

  printf( "角度\tcos値\tイメージ\n" );

  for( i = 0; i < 60; i++ ) {
    printf( "-" );
  }

  for( i = 90; i >= 0; i -= genbun ) {
    rad = (pai * i) / 180;
    cosvalue = cos(rad);
    printf( "\n%2d\t%f ", i, cosvalue );
    for( j = 1; j <= (int)(cosvalue * 40); j++ ) {
      printf( "*" );
    }
  }

  printf( "\n" );
  return 0;
}


普通にコンパイルしたらエラーが出た。。。
$ gcc cos01.c 
/tmp/ccwmJ23Q.o: In function `main':
cos01.c:(.text+0x70): undefined reference to `cos'
collect2: ld はステータス 1 で終了しました

何だこれ?
とりあえずググる。
gcc のエラーメッセージの読み方

ここに書いてあった。

数学関数を使う場合には、コンパイルするときに -lm という
オプションを付ける必要があります。
だそうです。。

$ gcc cos01.c -lm

コンパイルできた。
んで実行結果。


角度    cos値   イメージ
------------------------------------------------------------
90      0.000796 
85      0.087905 ***
80      0.174345 ******
75      0.259460 **********
70      0.342602 *************
65      0.423139 ****************
60      0.500460 ********************
55      0.573975 **********************
50      0.643126 *************************
45      0.707388 ****************************
40      0.766272 ******************************
35      0.819330 ********************************
30      0.866158 **********************************
25      0.906401 ************************************
20      0.939753 *************************************
15      0.965960 **************************************
10      0.984823 ***************************************
 5      0.996199 ***************************************
 0      1.000000 ****************************************


コンパイルエラーに慣れない。

トラックバック(0)

トラックバックURL: http://www.mogumagu.com/mt/mt-tb.cgi/7

2012年1月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

ウェブページ

このブログ記事について

このページは、モグマグが2010年3月26日 23:59に書いたブログ記事です。

ひとつ前のブログ記事は「Common Lisp をLinuxにインストールしてみた。」です。

次のブログ記事は「C言語:関数」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 5.01