Interest の回答履歴

全1017件中181~200件表示
  • H8マイコンで2つの光センサの差を0にする方法

    ライントレースロボットでも一部には使われているようですが、 2つの光アナログセンサの起電力の差が常に0になる方向にステッピングモーターを回転、反転を行いたいです。 C言語またはアセンブラを考えています。 使用マイコンはH8/300H Tiny 3664F と 3052F です。 まだまだ初心者の私ですが、どうかご教示お願い致します。

  • うつ病の治療

    私の知人がうつ病になりました。自殺願望があります。周りの者は どういう事に気をつければいいでしょうか?治療すれば治りますか?

  • プログラムが動きません。どうすれば動くのでしょうか?

    このプログラム(test.cとする)の内容を標準入力から読み込み、copied.cという名前のファイルにwモードで書き込むプログラム。(標準入力からの読み込みとファイルへの書き込みでは、1文字単位での入出力)なのですが、エラーが出て動きません。動かすにはどうすればよいでしょうか? <ソース> #include<stdio.h> int main(void) { char *filename = "copied.c"; FILE *wfp; char ch; wfp = fopen("filename", "w"); if( wfp == NULL ) { printf("ファイルが見つかりません: %s\n", filename); return 1; } while( (ch = getchar()) ) != EOF ) { fputc(ch, wfp); } fclose( wfp ); return 0; } <エラー> % gcc -o test test.c test.c: 関数 `main' 内: test.c:15: error: 文法エラー before '!=' token test.c: トップレベル: test.c:19: 警告: 関数宣言中に(型の無い)仮引数名があります test.c:19: 警告: data definition has no type or storage class test.c:20: error: 文法エラー before "return" % です。よろしくお願いします。

  • H8マイコンで2つの光センサの差を0にする方法

    ライントレースロボットでも一部には使われているようですが、 2つの光アナログセンサの起電力の差が常に0になる方向にステッピングモーターを回転、反転を行いたいです。 C言語またはアセンブラを考えています。 使用マイコンはH8/300H Tiny 3664F と 3052F です。 まだまだ初心者の私ですが、どうかご教示お願い致します。

  • C++ソースからUMLの設計書を作るには

    C++ソースからUMLを使った設計書を起こしたいです。 設計書等は一切ありません。 総ステップ数12万超です。複数のcppファイルに分かれています。 オブジェクト指向に基づいて開発されているので、クラスからクラスへと更には別のcppファイルへと呼び出されていくので、どこから見ていったら良いか悩んでいます。 まずはクラス図から作った方が良いのでしょうか? C++ソースから設計書を起こすには、どこから手を付けたら良いか、アドバイスお願いいたします。

  • BPFP(バンドパスフィルタペア)について

    学校で、BPFPを使って、音声のピッチ周波数を計算するプログラムを作っています。しかしよく意味がわかっていません。 二つのフィルタを使い、その出力からパワーベクトルと傾斜ベクトルを計算することまではわかったのですが、その後どのように中心周波数を求めればよいのか、またどんな風なプログラムにしたらよいのかが、まったく見えてきません。 全然わかってない自分にぜひわかりやすく説明お願いします・・・

    • noname#65585
    • 回答数1
  • LEGOマインドストーム

    LEGOマインドストームについて教えて下さい。 黒い部分と白い部分を認識してライントレースするRCX?でプログラムを作っています。 シンプルに円周を1周するだけです。 自分で作ったプログラム以外にどんな走り方(汎用性に優れている、速度がとても速い)とかを調べてみたいです。 どこか参考になるようなのはありませんか?

  • 文字数の逆順

    C++で入力文字の文字数を関数を使って逆順にするにはどのようなプログラムを作ればよいでしょうか。 入力文字がabcd 文字数4個 4321と出力したい。

  • [C言語]ソート関数の作成

    現在受け取った構造体を受け取ってソートしてポインタで書き換える関数を作成しています。 構造体の配列 typedef struct{ char name[50]; int age; }member; member seito[10] strcpy(seito[0].name,"yamada") seito[0].age = 15; strcpy(seito[2].name,"ito") seito[2].age = 17; strcpy(seito[3].name,"saito") seito[3].age = 19; こちらの構造体は例です。 seito[2]の情報を[1]に seito[3]の情報を[2]に移動させたいのですが、上手くいきません。 構造体配列を、1引いてあげれば良いと思ったのですが、そうすると[0]までマイナスしてしまい上手く判定が出来ません。 どうかアドバイスお願いいたします。

  • [C言語]ソート関数の作成

    現在受け取った構造体を受け取ってソートしてポインタで書き換える関数を作成しています。 構造体の配列 typedef struct{ char name[50]; int age; }member; member seito[10] strcpy(seito[0].name,"yamada") seito[0].age = 15; strcpy(seito[2].name,"ito") seito[2].age = 17; strcpy(seito[3].name,"saito") seito[3].age = 19; こちらの構造体は例です。 seito[2]の情報を[1]に seito[3]の情報を[2]に移動させたいのですが、上手くいきません。 構造体配列を、1引いてあげれば良いと思ったのですが、そうすると[0]までマイナスしてしまい上手く判定が出来ません。 どうかアドバイスお願いいたします。

  • 直感で○×アンケート

    直感でお答えください。 以下の番号ごとに、 ほぼ同じようなものであり、明確な差は無いと思えば○を、違うものであると思えば×をつけてください。 出てきた単語自体を知らなければ、飛ばしてください。 また、○や×にした理由や、解説の書き込みはアンケート結果に影響を与える可能性があるので、ご遠慮ください。 1.ブランド と メーカー 2.ウィンドウズ と パソコン 3.カフェオレ と ミルクコーヒー 4.性同一性障害 と 同性愛 5.ソフトクリーム と アイスクリーム 6.戦争 と 自衛のための攻撃 7.神 と 仏

    • ic4cl
    • 回答数69
  • 低次元なコーディング方法について

    私は一通り書籍でC言語の基礎を勉強しただけの初心者プログラマです。 もっと実力を付けるためにアルゴリズム関連の書籍をいくつか読み始めました。 これならソースを読む力も一緒に鍛えられると思ったからです。 その中で素数を表示するプログラムに興味を持ち自力で一から組んでみました。 (途中でどうしても分からず参考にする部分もあったのですが…) 私のコーディング手順は 1.UMLのアクティビティ図で大まかな処理を確認する。 2.if文だけで一通りの処理を記述。 3.while文を使って繰り返しの処理を追加する。 4.何度もうまくいかずにそのたびに修正していく。 というものです。 1.の部分は大量に書籍が出ているので勉強できるのですがUMLの性質上 それをコーディングしていく解説はどうしてもCのソースを書くこととは次元が違うようです。 かなり低次元なことだからでしょうか、解説している本にも出会えません。 前置きが長くなりました。 今回教えていただきたいのは ・アクティビティ図などで記述したものをソースコードに落とし込む  というかなり低レベルな部分での方法です。 私はオブジェクト指向はまだ勉強していないので Cでその過程などを書いていただけると幸いです。 どうやったらgoto文やフラグを使わずにソースを書けるか、 コツなどあったらぜひ教えてください。 アドバイスの参考になればよいと思い、私が書いた素数表示プログラムの一部を紹介させていただきます。 /**********************************************************/ /* 素数を格納する配列を受け取り最後に-1を格納する関数  */ /* 効率的な演算のために乗除演算回数を表示もおこなう   */ /**********************************************************/ #define  END (-1) #define MAX 1000 void prime_assess(int a[]) {   int j=0;  //ループ用のカウンタ   int x=3;  //検証値   int element_no=1;//配列の中の素数の個数   int arithmetic_no=0;//乗除演算回数   while(x<MAX){     j=0;     arithmetic_no++;     while(x % a[j] !=0 && a[element_no-1] != x){       arithmetic_no++;       if(a[j]-a[j] >= x){         a[element_no++] = x;       }else{         j++;       }     }     x += 2;   }   a[element_no] = END;   printf("乗除演算回数は%dでした。\n",arithmetic_no); } 先ほどの1~4のプロセスで作りました。 できるだけ無駄な演算を避けてみたつもりですがいかかでしょうか。 フラグなどを避けるよう、かなり時間をかけて書いたプログラムです。 乗除演算回数はおそらく2636回になっています。 自分以外の方にソースを見ていただける機会がないものですから、 これはおかしいぞというところも書いていただけたらうれしいです。 皆様からのアドバイスをお待ちしております。

    • stafie
    • 回答数8
  • H8/3048 マイコンのプログラムについて教えてください。

    すいません、助けてください。 モーターを制御するインバーターがあります。 そのインバーターには、左回り、右回りという、 2つの入力があります。 これは、スイッチをつけて直接グランドに落としている時間だけ回るという入力です。 この入力に対して、H8を追加して動きを自動化したいと思っています。 内容は、 左、右、リミットの3つのスイッチをつけ、 端まで動いて、リミットスイッチが切れたら止まるというものです。 リミットスイッチがOFFの場合、 左または右を押した場合、0.5秒 その方向に回り、停止。 リミットスイッチがONの場合、 左または右を押した場合、リミットスイッチがOFFになったら止まる。 このような動きの場合、どんなプログラムを書けば いいんでしょうか? よろしくお願いします。

  • H8/3048 マイコンのプログラムについて教えてください。

    すいません、助けてください。 モーターを制御するインバーターがあります。 そのインバーターには、左回り、右回りという、 2つの入力があります。 これは、スイッチをつけて直接グランドに落としている時間だけ回るという入力です。 この入力に対して、H8を追加して動きを自動化したいと思っています。 内容は、 左、右、リミットの3つのスイッチをつけ、 端まで動いて、リミットスイッチが切れたら止まるというものです。 リミットスイッチがOFFの場合、 左または右を押した場合、0.5秒 その方向に回り、停止。 リミットスイッチがONの場合、 左または右を押した場合、リミットスイッチがOFFになったら止まる。 このような動きの場合、どんなプログラムを書けば いいんでしょうか? よろしくお願いします。

  • Etherドライバの作り方

    Etherコントローラを初めて開発するのですが、どこからどう初めてよいのかよくわかりません。 CPU側とPHY側のドキュメントを読んでみましたがあまりイメージできませんでした。 例えばPHYをリセットさせるのにHIの信号を100ns以上与える。 HIはビットを立てればいいと思うのですが100nsとかどうやって判断?とわからないのです。 何かいいサンプルとかあれば教えてほしいです。 CPUはSHを使っています。

  • C言語でintをdoubleに

    C言語でプログラミングを書いています。 10問の問題の正解数に応じて正答率を出すプログラムを書いているのですが、正解数を数えるものをintで定義(seikaiとする)し、正答率の計算結果を出すものをdoubleで定義(rituとする)しました。 seikaiをインクリメントで数え ritu=seikai/10*100 という計算をしました。このrituを%fで表示させようとしても正しく表示されません。intで定義したものを計算に用いて、その計算結果をdoubleで定義したもので表示することはできないのですか?? また、自分で調べたら、ritu=(double)seikai/10*100とやるというものがありましたが、”(double)”を使わずに計算を反映させることはできませんか?

    • Y_a-S_u
    • 回答数6
  • C言語での構造体

    C言語で、 キュー構造を作りたいのですが、うまくできません。 途中まで作ったのですが、うまく動きませんでした。 EnqueueやDequeueでデータの出し入れをするのですが、そのままではデータを取り出したときにデータが先頭に来ないので、refreshで先頭に持ってくるようにプログラムを組みました。 ----------------------------------------------------- #include<stdio.h> #define MAXQUEUE 10 typedef struct queue{ int head, tail; char entry[MAXQUEUE]; } Queue; //キュー構造にデータを入れる。 void Enqueue(char item,Queue *q){ q->entry[q->tail]=item; q->tail++; } //キュー構造からデータを取り出す。 void Dequeue(char *item,Queue *q){ *item=q->entry[q->head]; q->head++; } //キュー構造内のデータを先頭にずらす。 void refresh(Queue *q){ while(q->head==0){ q->entry[q->head-1]=q->entry[q->head]; q->head--; q->tail--; } } void main(){ Queue qu; Enqueue('w1',&qu); Enqueue('w2',&qu); Enqueue('w3',&qu); Enqueue('w4',&qu); Dequeue(&qu,&qu); Dequeue(&qu,&qu); refresh(&qu); } ---------------------------------------------------------------- mainからEnqueueやDequeueを呼び出すときに、引数として何を渡せばいいのでしょうか?構造体をそのまま渡してみたのですが、「error C2664: 'Dequeue' : 1 番目の引数を 'Queue *' から 'char *' に変換できません。(新しい機能 ; ヘルプを参照) 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。」というエラーを吐いてしまいます。 分かりづらい説明で申し訳御座いませんが、ご回答宜しくお願いいたします。

  • C言語での構造体

    C言語で、 キュー構造を作りたいのですが、うまくできません。 途中まで作ったのですが、うまく動きませんでした。 EnqueueやDequeueでデータの出し入れをするのですが、そのままではデータを取り出したときにデータが先頭に来ないので、refreshで先頭に持ってくるようにプログラムを組みました。 ----------------------------------------------------- #include<stdio.h> #define MAXQUEUE 10 typedef struct queue{ int head, tail; char entry[MAXQUEUE]; } Queue; //キュー構造にデータを入れる。 void Enqueue(char item,Queue *q){ q->entry[q->tail]=item; q->tail++; } //キュー構造からデータを取り出す。 void Dequeue(char *item,Queue *q){ *item=q->entry[q->head]; q->head++; } //キュー構造内のデータを先頭にずらす。 void refresh(Queue *q){ while(q->head==0){ q->entry[q->head-1]=q->entry[q->head]; q->head--; q->tail--; } } void main(){ Queue qu; Enqueue('w1',&qu); Enqueue('w2',&qu); Enqueue('w3',&qu); Enqueue('w4',&qu); Dequeue(&qu,&qu); Dequeue(&qu,&qu); refresh(&qu); } ---------------------------------------------------------------- mainからEnqueueやDequeueを呼び出すときに、引数として何を渡せばいいのでしょうか?構造体をそのまま渡してみたのですが、「error C2664: 'Dequeue' : 1 番目の引数を 'Queue *' から 'char *' に変換できません。(新しい機能 ; ヘルプを参照) 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。」というエラーを吐いてしまいます。 分かりづらい説明で申し訳御座いませんが、ご回答宜しくお願いいたします。

  • 画像認識によるライントレース

    画像認識によるライントレースをしようと考えているのですが、いいアルゴリズムが思いつきません。 画像を二値化してみたのですが、その後どのように判断するのでしょうか? アイデアやヒント、又は参考サイトがあれば是非教えてください。

  • 画像認識によるライントレース

    画像認識によるライントレースをしようと考えているのですが、いいアルゴリズムが思いつきません。 画像を二値化してみたのですが、その後どのように判断するのでしょうか? アイデアやヒント、又は参考サイトがあれば是非教えてください。