差について – プログラミング – Home

通知
すべてクリア

[解決済] 差について


いちろう
 いちろう
(@いちろう)
ゲスト
結合: 21年前
投稿: 4
Topic starter  

以下の配列sとtの差をとり、一番外のループの最後に更新された差を取り出さしたいの
ですが、思う結果がでません。
どうかご教授いただけますか。

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

int main(void)
{

double s[3];
double tt[3][1]={9,10,11};
double t[3][1]={3,4,5};
   double e[10][10];
double ferr[10][10];
int cou,re,j;
double err,a;
double *ptr;

a=0;
for(cou=0;cou< 5;cou++)
{
printf(cou%d\n,cou);
a=a+1;
err=0;

for ( re = 0; re <3; re++)
{

for ( j = 0; j <1; j++)
{
s[j]=tt[re][j]+a;

ferr[re][j]=(s[j]-t[re][j]);//差をとりたいです。
ptr= &err;
e[re][j]= *ptr;
printf(%lf\n,err);
printf(f %lf\n,ferr[re][j]);
}

}
a=a+1;
}

for ( re = 0; re <3; re++)
{

for ( j = 0; j <1; j++)
{
printf(最後のERROR%lf\n,e[re][j]);

}
}

return 0;
}


引用未解決
トピックタグ
いちろう
 いちろう
(@いちろう)
ゲスト
結合: 21年前
投稿: 4
Topic starter  

すいません。
こちらでお願いします。
開発環境はWIN2000、VC++6.0、コンソールアプリです。

#include stdafx.h

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

int main(void)
{

double s[3];
double tt[3][1]={9,10,11};
double t[3][1]={3,4,5};
double e[10][10];
double ferr[10][10];
int cou,re,j;
double err,a;
double *ptr;

a=0;
for(cou=0;cou< 5;cou++)
{
printf(cou%d\n,cou);
a=a+1;
err=0;

for ( re = 0; re <3; re++)
{

for ( j = 0; j <1; j++)
{
s[j]=tt[re][j]+a;
err=(s[j]-t[re][j]);
ferr[re][j]=(s[j]-t[re][j]);//差をとりたいです。
ptr= &err;
e[re][j]= *ptr;
printf(%lf\n,err);
printf(f %lf\n,ferr[re][j]);
}

}
a=a+1;
}

for ( re = 0; re <3; re++)
{

for ( j = 0; j <1; j++)
{
printf(最後のERROR%lf\n,e[re][j]);

}
}

return 0;
}


返信引用
サスライの旅人
 サスライの旅人
(@サスライの旅人)
ゲスト
結合: 21年前
投稿: 21
 

差をとる?きちんとferr[re][j]=(s[j]-t[re][j]);の部分で差をとっていますよ。printf
(f %lf\n,ferr[re][j]);での表示は全部同じ値になるでしょうけど。printf(最後の
ERROR%lf\n,e[re][j]);の部分で計算した差を表示表示したいってことですか?


返信引用
いちろう
 いちろう
(@いちろう)
ゲスト
結合: 21年前
投稿: 4
Topic starter  

はい。おっしゃるとおりです。


返信引用
サスライの旅人
 サスライの旅人
(@サスライの旅人)
ゲスト
結合: 21年前
投稿: 21
 

まぁ、最後の部分もきちんと表示しているみたいですね。ただ単に最初のdouble tt[3][1]=
{9,10,11};double t[3][1]={3,4,5};としているため、同じ値が表示されるのですよ。全部6
になりますよね。9 - 3 = 10 - 4 = 11 - 5 = 6 ですから。違う部分を聞いているのですか?


返信引用
いちろう
 いちろう
(@いちろう)
ゲスト
結合: 21年前
投稿: 4
Topic starter  

あっ!あってました。
すいません。
サスライの旅人さま、有難うございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました