• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:初心者:指定した時間が経過すると計算を開始するプログラム)

初心者:指定した時間が経過すると計算を開始するプログラム

このQ&Aのポイント
  • C++Builderを使用して、指定した時間が経過すると計算を開始するプログラムを作成する方法について質問します。
  • プログラムは0.01[s]でループしていき、0.1[s]経過すると特定の変数を取得し、別の関数で計算を行ってもとのプログラムに結果を返す必要があります。
  • Sleep関数を使用して計算を試みましたが、うまくいきませんでした。どのようにプログラムを実装すればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ilice
  • ベストアンサー率50% (3/6)
回答No.1

ループが一回0.01[s]で回っていると仮定して int 計算関数(int a[10]); int main(void){ int i,sum=0; int a[10]; for(i=1;想定している終了条件;i++){ a[(i%10)-1]=取得した数値; if(i%10==0){ sum=計算関数(a); } return 0; } int 計算関数(int a[10]){ /*計算処理*/ return 計算結果; } こういう返答でいいのかな?^^; 0.01[s]ごとに取得する数値の数、計算関数に送る数値の数、返す計算結果の数を捕捉お願いします

penginmuranomura
質問者

お礼

お返事おそくなってすいません! 回答を参考になんとかプログラムを組むことができました! ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • main関数内のローカル変数について。

    main関数内でローカル変数は使用しない方が良いのでしょうか? 例えばmain関数内でループ処理(無限ループ)を行なう場合、 プログラムを終了するまで、ローカル変数は解放されないように思います。 なので、プログラム実行中は常にスタックに積んである状態になってしまいます。 この場合main関数内の変数は静的変数にするのが望ましいのですか?? よろしくお願いします。

  • このプログラムで計算を実行すると・・・

    10:S=0 20:FOR I=0 TO 6 STEP 2 30:FOR L=0 TO I 40:S=S+L 50:NEXT I 60:NEXT L 70:PRINT S 80:END 90: このプログラムを実行すると、「34」とプログラムの計算結果が表示されるのですが、実際に自分で計算すると「22」になってしまいます。 どこが違うのとか・・・基本的なとこが間違ってるのか? あとプログラムの動きを解説して頂けるとうれしいです! それでは、お願い致します。

  • (マルチスレッド)_beginthreadexに複数の引数を渡す

    現在プログラムでマルチスレッドをやろうとしているのですが、 マルチスレッドの関数に数値や配列などの引数を渡すことは可能でしょうか? MSDNで調べてみると、_beginthreadex関数の4番目のNULLのところに引数リストを 指定できるとあったのですが、その意味が良くわかりませんでした。 以下のプログラムの場合にマルチスレッドに変数a, b, cを引数として渡したい場合は どのように書けばいいのでしょうか? #include <stdio.h> #include <windows.h> #include <process.h> unsigned WINAPI MyThread( void *lpx ){ while (1) { printf("スレッド実行中\n"); Sleep(1000); } return 0; } void main(){ // スレッドに渡したい変数の宣言 int a = 128; int b = 256; int c = 512; // スレッドIDの宣言 DWORD thID; // マルチスレッドの開始 (HANDLE)_beginthreadex( NULL, 0, &MyThread, NULL, 0, (unsigned int*)&thID ); // ループ while (1) { printf("メイン関数実行中\n"); Sleep(2000); } }

  • PHPのSleepについて

    PHPでTwitterでメンションされたら自動返信するプログラムを書いて、Lolipopのcronにて1分間隔で実行されるようにしています。 しかし、どうしても1分間隔だと返信までに時間がかかってしまう場合があり、もう少し間隔を狭くしたいと考えております。 そこで、PHPのSleep関数を使用して 、関数呼び出し→20秒待機→関数呼び出しというプログラムにしました。 (ちなみにLolipopはPHPの処理時間が30秒までに制限されています) ここで疑問なのですが、Sleepの状態でもサーバー側に高い負荷がかかってしまうものなのでしょうか。 このプログラムでも問題ないのか、もしくはやめておいた方がよいのか教えていただけたら幸いです。

    • 締切済み
    • PHP
  • 2の累乗を計算するプログラムを作ったのですが・・・

    C言語を用いて、2の累乗(2,4,8,16・・・)を 計算して表示するプログラムを #include<stdio.h> void main(void) { int i,s; s=1; for(i=1; i<=15; i++) { s=s*2; printf("i=%2d s=%7d\n",s); } } と打ち込んで実行したのですが、結果が i= 1 s= 2 i= 2 s= 4 i= 3 s= 8 i= 4 s= 16 i= 5 s= 32 i= 6 s= 64 i= 7 s= 128 i= 8 s= 256 i= 9 s= 512 i=10 s= 1024 i=11 s= 2048 i=12 s= 4096 i=13 s= 8192 i=14 s= 16384 i=15 s= -32768 のように、2の15乗だけが負になってしまいました。 最初のintをdoubleやfloatに直して実行すればよいのかとも考えたのですが、 実行すると答えがすべて0になってしまい上手くいきませんでした。 どの部分がおかしいのでしょうか・・・;

  • H8 3052 のプログラムで、少数のべき乗計算

    H8 3052 のプログラムで、少数のべき乗計算がしたいです。 y=4610.6x^(-1.156) という計算を入れたいです。 H8 3052 ヘッダファイル 3052f.h stdio.h math.h メイン関数で 1 x2=ad1_val; 2 y2=4610.6*pow(x2,-1.156); 3 if(y2>20){s2_flag = CW;} 4 if(y2<20){s2_flag = CCW;} このプログラムだと動作しません。 1 x2=ad1_val; 2 y2=x2/2; 3 if(y2>150){s2_flag = CW;} 4 if(y2<150){s2_flag = CCW;} このプログラムだと動作しました。 2行目のpowの式のせいで動作エラーするみたいなんですけど、 pow関数はH8 3052 では使えないのですか? それとも他に書き足すことがあるのですか? pow関数が使えないのなら他に方法はないですか? コンパイラは CC38H.exe です。 お願いします。

  • VBAでのwebservice関数の更新方法

    エクセルにてwebservice関数を使って、定期的に情報を更新したいと思っています。 VBAでESCを押すまで無限ループを回して、定期的(例えばsleepで5秒寝かせるなど)にwebservice関数を実行したいと思っています。 しかし、シートの再計算などをさせてもwebservice関数の内容が更新される気配がありません。 webservice関数をVBAからの指示で再実行させる方法があれば教えてください。

  • 任意の関数を読み込む

    プログラムに関して全くの初心者なんですが・・・  よくプログラムで計算をするときに、あらかじめコードに式を書いて、実行画面でパラメータを代入して計算をするって方法がありますよね~本である程度勉強してそれは出来るのですが、実行画面で、任意の関数を書いて、それを読み込んでくれるプログラムを作るっていうのは難しいのでしょうか?昔、字句解析ってやつを見た事があるのですが、ちんぷんかんぷんでした・・・ 何か簡単な方法、もしくは、よいHPがあればおしえていただけませんか?ちなみにC++Builderをつかっています。 宜しくお願いします。

  • FORTRAN: WIN SalfordFTN77 → LINUX g77 (セグメントエラー)

    今まで、Salford FTN77 を使用していたのですが、 この度、LINUXのg77でプログラムを動かすことになりました。 Salford FTN77で正常に動作していたのですが、g77では、実行時に「セグメント違反」が発生してしまいます。 現在わかっていることを列挙しますと… ・Salford FTN77では、問題なく動作する ・g77で、コンパイルまでは成功する ・Salford FTN77からの書き換えはおそらく成功(同種のプログラムで確認済み) ・プログラムをループ(=50)させているのですが、特定のループ回数(=13)でセグメントエラーになる。 ・エラー前の計算は正しく行われている ・ループ回数(=10)を引き下げると実行可能になる ・ループ毎にファイルのcloseも行っている ・スタックを限界まで引き上げて実行したが、同様のエラーが発生 ・特定のループ回数(=13)から、ある特定の変数(ここでは b)を、表示(write( , ) b )もしくは代入(a=b)しようとするとエラーが発生する。 ・エラーが発生する直前までは、ある特定の変数(b)は正しく出力でき、値に異常もない。 元々、簡単な数値計算をおこなう程度にしかプログラムを扱っていない生粋の初心者です。 ネットでセグメントエラーについて検索し、手当たり次第試してみたのですが、うまくいかず困っています。 ソースは公開できないのですが、何か心当たりのある方は、回答していただけると嬉しいです。 よろしくお願いします。

  • 関数を使ったプログラムについてなのですが・・・

    ・変数a,bの内容を入れ換える処理を関数を用いて実行するためのプログラム と ・変数a,bを与えたときa+bとa-bを計算する処理を関数を用いて行い、和と差を表示させるためのプログラム はどう作ればいいか分かりません…。 教えてください。