
こんな問題が出たのですがまったくもってわかりませんだれか助けてください
センサーから入力される符号付き8ビット(char)の入力を一定期間ため込み,値が入力される度に,その平均値を計算し続けるシステムを考える.実装の方法にはいろいろ種類があるが,ここでは,配列をリングバッファとして利用する.リングバッファは,実際にデータを蓄える buffer という名の char 型の配列,最後にサンプル値を代入した位置を示す変数 pos という名の int 型の変数および現在のデータの総和を示す int 型変数 sum を要素に持つ構造体で作成する.リングバッファに値が挿入されるときは,以下の作業を行う.
pos を一つ増やす
pos がバッファのサイズを超えていたら pos を 0 にする
sum から pos の位置のバッファの値を引く
リングバッファに挿入したい値を pos の位置のバッファに書く
今挿入した値を sum に足す
sum をバッファの長さで割り算して平均値を出力する
ここでは,効果的な計算のために,リングバッファのサイズを 128 とする.そのため,変数 pos は 0 から 127 までの値を持つことになる.
という問題でこのプログラムを書いてみたいのですがわかりません
どなたか教えてくれませんか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
質問の中で何がわからないのか不明です。
質問の内容は完全に理解していますか?
平均値を出力するとありますが、出力の方法は何ですか?メモリのどこかの格納するのみですか?
使用言語は何ですか?C?C++?センサ情報の入力方法(命令語)が不明です。
No.2
- 回答日時:
googleなどで、「リングバッファ」もしくは「循環バッファ」などで検索してみると参考となりそうサイトがいくつか出てきますよ。
C言語を使われるなら、「C言語」も検索ワードに追加してみるといいかもしれません。
http://okgnz.web.fc2.com/scam/scam07.htm
プログラムの参考サイト、プログラムを書く際に参考にしてください。
http://www.s-cradle.com/developer/sophiaframewor …
Cではありませんが、イメージとしては、このサイトの図がわかりやすいかもしれません。
図のwが、課題のposに相当すると思います。
図のrはおそらく課題の文中にないように思われるので、rは作成せず、
wが128個書き終わったら、上書きしていく形になると思います。
配列(bufferという名前の)を128個作ってやって、一番したまでいったら、上にもどるように、してやればいいと思います。文中のposがバッファイサイズを超えたらposを0にする似相当。
あとの細かいところはプログラムの参考サイト等を参考に考えてください。

No.1
- 回答日時:
まず、出題された文章の、それぞれの行をCのプログラムに書き直してみましょう。
1行ずつだったら、まずは何とかなるでしょう。
実際には、その前後の処理が必要だったり、全体的のにどのような形でまとめるかとか、結構面倒な点もありますが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Fortranプログラム-if文について
-
不具合が発生(API・C言語)
-
プログラミングの問題が分かり...
-
自然数の和のプログラム
-
C言語のプログラム
-
C言語です 整数nを入力すると 1...
-
C言語のエラーについてです
-
素人なのですが、プログラマに...
-
PICのA/Dを使うプログラムにつ...
-
プログラミング
-
c言語とgnu
-
C言語の質問です。
-
PIC 初心者で行き詰まりま...
-
このプログラムを修正してくだ...
-
FORTRAN77のプログラミングを教...
-
銃を発砲するならともかく、日...
-
ネットワーク並列処理が出来る...
-
電卓作成(緊急です!!)
-
Fortran90を使いたい
-
アルゴリズムについて(ちょい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数の値が勝手に変化する原因
-
【JAVA】数字をひし形に出力す...
-
3つの整数のうち奇数のみを表示...
-
Sublime Text 3でのFortranプロ...
-
fortran if文
-
main関数終了時のreturnの意味は?
-
Fortran90についての質問です。
-
360度を超える角度
-
Fortran "実引数の型が仮引数の...
-
N88basicを用いたGPIB制御
-
JCLの基本について教えてください
-
COBOLのピリオド
-
プログラミング
-
C言語からのFortranプログラム...
-
ProC 固定SQLでNULLってどう表...
-
4桁の数値を逆に表示されるプ...
-
Tiny Basicのプログラムです。。
-
CommonLispでハノイの塔の円盤...
-
プログラミングの課題で1万円か...
-
プログラムの実行回数
おすすめ情報