mappy1983のプロフィール

@mappy1983 mappy1983
ありがとう数15
質問数0
回答数24
ベストアンサー数
7
ベストアンサー率
70%
お礼率
0%

  • 登録日2005/03/18
  • 関数のポインタ

    char* check(int a,int b,int c) { return(\"yes\"); とした場合char* checkは何を表しているのでしょうか。 また、 char *str_copy(char d[], char s[]) { char *t=d; while(*d++ = *s++) ; return t; とした場合との違いはあるのでしょうか。 ポインタを返すときに*をつけると教わったのですがいまいち理解できなかったのですがどのような処理が行われているのでしょうか、お願いします。

  • 関数のポインタ

    char* check(int a,int b,int c) { return(\"yes\"); とした場合char* checkは何を表しているのでしょうか。 また、 char *str_copy(char d[], char s[]) { char *t=d; while(*d++ = *s++) ; return t; とした場合との違いはあるのでしょうか。 ポインタを返すときに*をつけると教わったのですがいまいち理解できなかったのですがどのような処理が行われているのでしょうか、お願いします。

  • 複素数の四則計算

    複素数の四則計算を構造体を使って実行させたいのですが、いまいち構造体のことを理解できていません。 以下の何が間違っているのでしょうか? コンパイルはできますがおそらく間違った値が出てしまっているようです。 #include <stdio.h> typedef struct{ float re, im; } COMPLEX; COMPLEX cal ( COMPLEX a, char c, COMPLEX b ) { COMPLEX d; switch (c) { case '+' : d.re = a.re + b.re; d.im = a.im + b.im; break; case '-' : d.re = a.re - b.re; d.im = a.im - b.im; break; case '*' : d.re = (a.re * b.re) - (a.im * b.im); d.im = (a.im * b.re) + (a.re * b.im); break; case '/' : d.re = (a.re * b.re + a.im * b.im) / ( pow(b.re,2) + pow(b.im,2) ); d.im = (a.im * b.re - a.re * b.im) / ( pow(b.re,2) + pow(b.im,2) ); break; default :puts("不適切な演算です。"); break; } return d; } int main(void) { COMPLEX a; COMPLEX b; printf("aの実数部を入力:"); scanf("%f",&a.re); printf("aの虚数部を入力:"); scanf("%f",&a.im); printf("bの実数部を入力:"); scanf("%f",&b.re); printf("bの虚数部を入力:"); scanf("%f",&b.im); printf("%f + (%f)*i\n",cal(a,'+',b)); printf("%f + (%f)*i\n",cal(a,'-',b)); printf("%f + (%f)*i\n",cal(a,'*',b)); printf("%f + (%f)*i\n",cal(a,'/',b)); } 以上です。 ちなみに、例えばcal(a,'+',b)とすると和が返るようにしなさいという指示がありました。 どなたか教えて頂けるとありがたいです…。

    • noname#90946
    • 回答数7
  • 複素数の四則計算

    複素数の四則計算を構造体を使って実行させたいのですが、いまいち構造体のことを理解できていません。 以下の何が間違っているのでしょうか? コンパイルはできますがおそらく間違った値が出てしまっているようです。 #include <stdio.h> typedef struct{ float re, im; } COMPLEX; COMPLEX cal ( COMPLEX a, char c, COMPLEX b ) { COMPLEX d; switch (c) { case '+' : d.re = a.re + b.re; d.im = a.im + b.im; break; case '-' : d.re = a.re - b.re; d.im = a.im - b.im; break; case '*' : d.re = (a.re * b.re) - (a.im * b.im); d.im = (a.im * b.re) + (a.re * b.im); break; case '/' : d.re = (a.re * b.re + a.im * b.im) / ( pow(b.re,2) + pow(b.im,2) ); d.im = (a.im * b.re - a.re * b.im) / ( pow(b.re,2) + pow(b.im,2) ); break; default :puts("不適切な演算です。"); break; } return d; } int main(void) { COMPLEX a; COMPLEX b; printf("aの実数部を入力:"); scanf("%f",&a.re); printf("aの虚数部を入力:"); scanf("%f",&a.im); printf("bの実数部を入力:"); scanf("%f",&b.re); printf("bの虚数部を入力:"); scanf("%f",&b.im); printf("%f + (%f)*i\n",cal(a,'+',b)); printf("%f + (%f)*i\n",cal(a,'-',b)); printf("%f + (%f)*i\n",cal(a,'*',b)); printf("%f + (%f)*i\n",cal(a,'/',b)); } 以上です。 ちなみに、例えばcal(a,'+',b)とすると和が返るようにしなさいという指示がありました。 どなたか教えて頂けるとありがたいです…。

    • noname#90946
    • 回答数7
  • OpenGL

    OpenGLのプログラムをBoland C++5.5でコンパイルしたときに一応コンパイルは通るが、Warningで、マクロ 'M_PI' の重複定義と出てきます。この他にも幾つか同じような重複定義が出てきます。実行ファイルはなんら問題なく動くのでよいのですが、気になるのでどなたか対処法知っている方教えてください。