c言語に詳しい人来て

■ このスレッドは過去ログ倉庫に格納されています
1以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:15:29.870ID:Gmb1xhuK0
実数型配列xにn個の実数値が格納されていて、その実数値の平均値を求める関数を作れっていう問題で

double average(int *x, int n){

まで書かれてる状態なんだけどこれどうすればいいの?
for(i=0; i<=n; i++)を使うんだろうなってとこはわかるんだけど*xを配列としてどう使えばいいのかわからない

2以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:16:50.391ID:4GF7bcHd0
そんなに見つめるなよ

3以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:18:18.424ID:ktZSNSYo0
情報処理は問題文の意味がわからなかったから放棄した思い出

4以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:18:42.673ID:vvUoSVk/a
*xはx[]と同じ

5以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:19:00.794ID:qemjh4Og0
宿題は自分でやりなさい

6以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:19:15.483ID:Gmb1xhuK0
ポインタ配列っていうんかな?どう使うの?*(x+i)とかでいいの?

7以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:19:31.173ID:8/n9VDr/0
double average(int *x, int n){
for(i=0; i<=n; i++){};
}

8以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:20:10.493ID:7JEp1FaP0
sum=0
for ~~~#
sum += x[i]
sum /= n

9以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:20:16.949ID:Gmb1xhuK0
>>4
x[]はカッコの中にi入れてカウントすればいいだけじゃん
*xはどうするんかなって

10以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:21:13.926ID:MlFDIsxx0
>>6
x[i]でいい
*(x+i)と同じになる

11以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:21:48.324ID:7JEp1FaP0
x がint型なのが本当なら
除算するところはキャスト

12以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:21:49.303ID:MlFDIsxx0
>>9
シンタックスシュガーだから同じ

13以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:23:22.408ID:Gmb1xhuK0
あ、どっち使ってもいいの!?マジかよ

14以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:24:32.668ID:UznOBlbND
これは無能、ググればすぐ分かるだろ
ループでtotal+=x[i];
ループ後にtotal/n

15以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:24:50.853
なんでスレタイ小文字で書いた?

16以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:25:35.921ID:gH+zWMF80
配列a[]があったとして、aは配列の先頭アドレスを表す
引数x*にaを渡して、x*をインクリメントすれば
a配列要素1個ずつ参照できる

17以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:25:55.751ID:Gmb1xhuK0
>>11
あーsumはdouble型じゃないとダメか
忘れてました

18以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:28:40.328ID:v8IhDIy6a
ポインタで配列にアクセスして、要素の総和数を末尾まで取って要素数で除すだけだな

19以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:32:30.659ID:Gmb1xhuK0
ありがとう助かりました

同じ使い道のを複数も用意しないでくれるかな紛らわしい

20以下、5ちゃんねるからVIPがお送りします2019/01/23(水) 23:40:11.685ID:Jr3+GpV20
微妙に使い道違って来る仕組みがあるのよ

21以下、5ちゃんねるからVIPがお送りします2019/01/24(木) 00:27:24.026ID:Gk9LAeK00
正確にはint *xとint x[]は別物だからな
int *xはx=&a;とできるが、int x[]はできない

■ このスレッドは過去ログ倉庫に格納されています