xi_fjw_ix の回答履歴

全4件中1~4件表示
  • 関数、構造体

    まだ、C++の質問ですが、 struct AotU { int num; }; vodi value(Aotu a) { cin>>a.num; } void king(int k) { cout<<k; } int main() { Aotu c; value(c); king(c.num); return 0; } 上のようなコードでコンパイルができますが、 実行するとエラー出るのがなぜでしょうか? このように構造体、関数を使えないでしょうか? よろしく、お願いいたします。

  • プログラムについて

    2進数を文字としてgets()関数を使って入力し,入力された値と宣言している変数(初期値は0)とのビット演算和を取り,2進数に変換し直すという3つの動作を繰り返すプログラムを作成しようとしています。 現在は,現在は最後の出力の部分が前回演算和した値が反映されずに出力してしまうのでこまっています。現在作成しているプログラムを添付します。ここを直したほうがよい,または,このプログラムの方がよいのではと思う方は返信願います。 int main(void) { char a[100],e[100]; int len,k,p,g; int c=0,d; int nisin[16]; int i; printf("2進数を入力:"); gets(a); while(a[1]!=0){ len=strlen(a); for(k=0;k<=len-1;k++){ e[k]=(a[k]-'0')<<(len-(k+1)); } g=0; for(p=0;p<=len-1;p++){ g+=e[p]; } printf("10進数は:%d\n",g); c|=g;/**/ printf("演算和:"); /*変換*/ for(i=0; i<16; i++){ nisin[i] = c % 2; c = c / 2; } /*出力*/ for(i=16-1; i>=0; i--){ printf("%d",nisin[i]); } printf("\n"); printf("2進数を入力:"); gets(a); } return 0; }

  • 関数のもんだいです。

    #include<stdio.h> int f(int x); int main(void){ int j=8; j=f(j); printf("%d\n",j); return 0; } int f(int x) { int t; if(x<=0){ return 1; }else{ t=f(x-2)+f(x-1); return t; } } このプログラムについてなんですが、t=f(x-2)+f(x-1);の計算の部分で、もしj=0だったら1を返すってなっているのでf(0)=1と考えて大丈夫でしょうか?一回自分で解いてみたら答えは当たっていたんですが、質問したとこがちょっと自信ありません。答えは55になりました。 よろしくお願いします。

  • 文字列とポインタの問題です。

    #include<stdio.h> int f(char *s); int main(void){ char*str="nasida Institute of Technology"; int i; i=f(str); printf("%s:%d\n",str,i); return 0; } int f(char *s) { int j=0; while(*s!='\0'){ if(*s=='t'){ j++; } s++; } return j; } このプログラムの答えが3になるんですが、if文のとこの動作がよく分からないので、よろしくお願いします。