行列を計算しようとしたんですが失敗してしまいました…。
どうしてしまったのでしょうか?至急解決お願いします。
ソース
#include <stdio.h>
int main (void)
{
int i,j;
int A[100][100];
int B[100][100];
int C[100][100];
int n=100;
int m=100;
for(i=0;i<n;i++);
{
for(j=0;j<m;m++);
{
C[j]=A[j]+B[j];
}
}
for(i=0;i<n;i++);
{
for(j=0;j<m;m++);
{
printf("%d",C[j]);
}
printf("%d");
}
}
表示できない?
Re: 表示できない?
まずフォーラムルールを読んでくださいね。
コードは必ずcodeタグで括って下さい。
で、色々ツッコミどころがいっぱいです。
そのままフォーマットだけしてコピペしてますが
まず13,15,22,24行目のfor文の後ろにセミコロンがついてますが、{}をループで回しているつもりなら間違いです。
for文の使い方を再確認してみてください。
また、15,24行目のfor文 jではなく終了条件に指定しているmをインクリメントしているのは間違いでしょう。
これではいつまで経っても(mがsigned int maxを超えるまで)ループし続けてしまいます。
for文が正しかったとしたら配列の範囲外アクセスをしてしまうでしょう。
最後に、A,Bはいつ初期化するの?
初期化せずにA[j]+B[j]としてるので不定値の加算をしてるだけです。
コードは必ずcodeタグで括って下さい。
で、色々ツッコミどころがいっぱいです。
#include <stdio.h>
int main (void)
{
int i,j;
int A[100][100];
int B[100][100];
int C[100][100];
int n=100;
int m=100;
for(i=0;i<n;i++);
{
for(j=0;j<m;m++);
{
C[i][j]=A[i][j]+B[i][j];
}
}
for(i=0;i<n;i++);
{
for(j=0;j<m;m++);
{
printf("%d",C[i][j]);
}
printf("%d");
}
}
まず13,15,22,24行目のfor文の後ろにセミコロンがついてますが、{}をループで回しているつもりなら間違いです。
for文の使い方を再確認してみてください。
また、15,24行目のfor文 jではなく終了条件に指定しているmをインクリメントしているのは間違いでしょう。
これではいつまで経っても(mがsigned int maxを超えるまで)ループし続けてしまいます。
for文が正しかったとしたら配列の範囲外アクセスをしてしまうでしょう。
最後に、A,Bはいつ初期化するの?
初期化せずにA[j]+B[j]としてるので不定値の加算をしてるだけです。
- bitter_fox
- 記事: 607
- 登録日時: 14年前
- 住所: 大阪府
Re: 表示できない?
printf("%d");も良くありませんね。
printf("\n");でしょうか?
printf("\n");でしょうか?
Re: 表示できない?
どう解決したのでしょうか?緋色 さんが書きました:解決ありがとうございました(m^^m)
貴方自身は疑問が氷解してすっきりかもしれませんが、
見ているこちらではどのように解決したのか分からず、非常に気持ち悪いです。
後から同じような間違いで困っている人が参照した際に参考になるよう、
無事に解決したのであればお礼だけではなく解決後のソースを貼るなりしてください。
#回答を書かれた方たちのツッコミが図星なのだとは思いますが。
Advanced Supporting Developer
無理やりこじつけ(ぉ
無理やりこじつけ(ぉ
Re: 表示できない?
解決でしたら、解決チェックをお願いします。
asdさんがおっしゃっているように、どのように解決したのかも書き込んでください。
asdさんがおっしゃっているように、どのように解決したのかも書き込んでください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)