#実現したいこと
ご覧いただきありがとうございます。
任意の入力したn個のデータから、決めた数以上の数が何個であるか調べるプログラムを作成しております。
質問は以下になります。
調べたい数と基準とする数を実数にしたいのですが、floatにした場合うまくプログラムが作動しません。また、intのときは小さな数では作動してくれるのですが、10個分の判定など大きな数になってくるとうまく作動しません。どこが違うのでしょうか。
この形式のプログラミングは初めてでどのような流れか理解しておきたいです。なのでヒントではなく答えを教えていただけると助かります。
そして、エラーコードからdata[100]の部分が間違っていると思うのですが、組み込んでいるのに使われていないと出てしまうのはどういうことなのでしょう。
ご迷惑おかけしますがお手を伸べていただけると幸いです。
よろしくお願いします。
#include <stdio.h>
int main(void) {
int i,n,a;
float x,j;
float data[100];
printf("データの個数入力 : "); scanf("%d",&n); for(i=1;i<n+1;i++){ printf("判定する数値%d : ",i); scanf("%f",&data[j]); } printf("基準の数値入力 : "); scanf("%f",&x); a=0; for(j=0;j<n+1;j++){ if(data[j]>=x){ a+=1; } } printf("%f以上のデータは%d個",x,a); return 0;
}
発生している問題・エラーメッセージ
prog.c: In function ‘main’:
prog.c:13:25: error: array subscript is not an integer
scanf("%f",&data[j]);
^
prog.c:22:16: error: array subscript is not an integer
if(data[j]>=x){
^
prog.c:7:11: warning: variable ‘data’ set but not used [-Wunused-but-set-variable]
float data[100];
試したこと
for文の条件の変更
int,floatの変更
文の順番入れ替え
指定するデータの変更
実行データの確認
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/27 20:01