【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は慎んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.20041

意味について
投稿者---美咲(2005/02/17 14:04:59)


#include <stdlib.h>
#include <stdio.h>
#include <math.h>

double stdv( int* a, int n );

#define SIZE 5

int main( void )
{
int nData[ SIZE ] = { 1, 2, 3, 4, 5 };
int nSum = 0;
double dStdv;
int nLoop;

puts( "---配列内容---" );
for ( nLoop = 0; nLoop < SIZE; nLoop++ )
{
printf( "% 3d:% 3d\n", nLoop + 1, nData[ nLoop ] );
nSum += nData[ nLoop ];
}

puts( "---解析結果---" );
printf( "合計 = %d\n", nSum );
printf( "平均 = %lf\n", ( ( double )nSum ) / SIZE );

dStdv = stdv( nData, SIZE );
/* または
dStdv = stdv( &data[ 0 ], SIZE );
*/

printf( "標準偏差 = %lf\n", dStdv );

return EXIT_SUCCESS;
}
double stdv( int* a, int n ) ←ここの意味
{
double dSum = 0.0; /* 合計 */   ←ここの意味
double dAve; /* 平均 */
int nLoop; /* ループ用変数 */

/* 平均を求める処理 */
/* X = ΣXi / n */
for ( nLoop = 0; nLoop < n; nLoop++ )   ←何をしてるのか?
{
dSum += ( double )a[ nLoop ];
}
dAve = dSum / n;

/* 標準偏差を求める処理 */
/* σ = √( Σ( Xi - X )^2 / n ) */
dSum = 0.0;
for ( nLoop = 0; nLoop < n; nLoop++ )   ←意味 何をしている
{
dSum += pow( a[ nLoop ] - dAve, 2.0 );←意味 何をしている
}
return sqrt( dSum/n)           ←意味 何をしている
}

どなたかわかる方いませんか?お願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:意味について 20042 Blue 2005/02/17 14:29:17
<子記事> Re:意味について 20043 επιστημη 2005/02/17 14:34:55
<子記事> Re:意味について 20046 shu 2005/02/17 15:32:56


No.20042

Re:意味について
投稿者---Blue(2005/02/17 14:29:17)


悲しすぎる。。。

あなたの示されたソースをC言語したのにわからないなんて。
私が変更したのはpowのとこぐらいだし。(pow( x, 2.0 )はxの2乗のことです。)



この投稿にコメントする

削除パスワード

No.20044

Re:意味について
投稿者---通りすがり(2005/02/17 14:38:00)


>悲しすぎる。。。

心中お察し申し上げます・・・



この投稿にコメントする

削除パスワード

No.20045

Re:意味について
投稿者---Blue(2005/02/17 14:43:10)


一応もとにしたソースのリンクをはっときます。
もとにしたソース
過去ログ

>下のように作ってみたのですが

。。。



この投稿にコメントする

削除パスワード

No.20089

Re:意味について
投稿者---Blue(2005/02/20 14:27:07)


なんか最初のソースが本当にあなたが書いたのか怪しくなったので、
 平均値と標準偏差 double stdv = sqrt( sum /n );
で検索したところ、
http://www.asahi-net.or.jp/~uc3k-ymd/Lesson/Section02/sample02.cpp
というWebページが見つかりました。
多分、ほぼコピーですね。(データ数だけ違う)
# 著作関係やばそうだなw

私は、とんだピエロだった罠



この投稿にコメントする

削除パスワード

No.20043

Re:意味について
投稿者---επιστημη(2005/02/17 14:34:55)


>double stdv( int* a, int n ) ←ここの意味
> double dSum = 0.0; /* 合計 */   ←ここの意味
> for ( nLoop = 0; nLoop < n; nLoop++ )   ←何をしてるのか?

教科書/参考書を読みましょう

> dSum += pow( a[ nLoop ] - dAve, 2.0 );←意味 何をしている

pow(X,Y) : XのY乗を求める

> return sqrt( dSum/n)           ←意味 何をしている

sqrt(X): Xの平方根を求める



この投稿にコメントする

削除パスワード

No.20046

Re:意味について
投稿者---shu(2005/02/17 15:32:56)


>どなたかわかる方いませんか?お願いします。

わかろうとする気もない質問は、返答する側には大変迷惑です。
わざわざ掲示板で質問するレベルの問題でもありません。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧