はじめまして(^^)/ 今年になってCを始めたばかりの初心者です!
年末にテストを控えており、今そのテストの過去門をやっているのですが、
解答がないため、解答例をあげてくれる方を急募しています!
ここでこのような質問の仕方をしていいのかわかりませんが、
答えて頂けると、本当に助かります。
次の指示に従ってプログラミングを完成させなさい。
問題1
整数配列dataの中にその整数が入っている。
前のデータが小さい場合(data[i-1]<data[i])
前のデータと同じ場合 (data[i-1]==data[i])
前のデータが大きい場合 (data[i-1]>data[i])
がそれぞれいくつあるか出力しなさい。3つの値の合計は、データ数より1つ
小さくなる。
#define NUM 11
int main (void)
{
int data[NUM] = {5,8,2,7,5,3,4,2,4,9,1}
問題2
浮動小数の二次元配列のdataに入っているデータの平均を求め出力せよ。
平均より大きなデータがいくつあったか、平均以下のデータがいくつあったか求め、
その数を出力せよ。
#define NUM 10
int main (void)
{
double data[NUM] [NUM] = /* ここで初期値が入れられていたとする */
宜しくお願いします(-^-^-)
で、なにが/どこがわからんのですか?
> ここで
問題文はわかりましたので、あなたが書いて動かしてみたソースと、
あなたの考え、疑問、わからない箇所などを具体的に追記してもらえればと思います。
> 答えて頂けると、本当に助かります。
テストを控えて過去問を見ているのに、回答だけ聞いても何も助からないでしょう。
数学の問題とかと一緒です。自分で解かないとテスト対策の意味をなしません。
自分で解いて、身になるはずだった問題を二問失うだけに終わると思います。
そうですね。
一応、すでに自分で解いてみたのですが、随分と長いソースになってしまったため
他の方のを参考にしてみようと思いのせてみました。
もう一度見直して、簡略化できるようやってみます。
ご忠告ありがとうございました(^^)。
眠いので間違ってるかもしれませんが
#define NUM 11
int main (void)
{
int data[NUM] = {5,8,2,7,5,3,4,2,4,9,1};
int i,a,b,c;
for (i=1, a=0, b=0, c=0; i<NUM; i++)
{
if(data[i-1]<data[i])
a++;
else if (data[i-1]==data[i])
b++;
else
c++;
}
return 0;
}
#define NUM 10
int main (void)
{
double data[NUM][NUM] = /* ここで初期値が入れられていたとする */:
int i, j, a, b;
double ave, total;
for (i=0, total=0.; i<NUM; i++)
{
for (j=0; j<NUM; j++)
{
total += data[i][j];
}
}
ave = total / (NUM*NUM);
for (i=0, a=0, b=0; i<NUM; i++)
{
for (j=0; j<NUM; j++)
{
if(ave < data[i][j])
a++;
else
b++;
}
}
return 0;
}
自分で解いたものがあるのなら、
そちらを提示された方がよかったように思います。
>ねむねむさん
ありがとうございました!!!
半分あきらめていただけに本当にうれしかったです。
眠い中、丁寧に答えていただき感謝しております。
for文を2回続けるところが自分はまだ、
理解ができていないというか、使えていないようです。
本当に参考になりました(^^)!
>BANさんへ
次回、質問する時はそうしますね。
何度もお返事してくださり、ありがとうございました。