A[1][1] = A[1][1] - A[0][1] * A[1][0] / A[0][0];
A[1][2] = A[1][2] - A[0][2] * A[1][0] / A[0][0];
A[2][1] = A[2][1] - A[0][1] * A[2][0] / A[0][0];
A[2][2] = A[2][2] - A[0][2] * A[2][0] / A[0][0];
A[2][2] = A[2][2] - A[1][2] * A[2][1] / A[1][1];
以上の式をfor文でまとめたいのですが、まとめられますか。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
#include <stdio.h>
int main(void){
int i,j,k;
for(i = 1; i < 3; i++)
for(j = i; j < 3; j++)
for(k = i; k < 3; k++)
printf("A[%d][%d] = A[%d][%d] - A[%d][%d] * A[%d][%d] / A[%d][%d];\n", j,k,j,k,i-1,k,j,i-1,i-1,i-1);
return 0;
}
No.2
- 回答日時:
> どうか作るまでの過程を詳しく教えて頂けないでしょうか?
欲しいのは以下の縦3列の変化
A B C
[1][1][0](グループ1)
[1][2][0]
[2][1][0]
[2][2][0]
[2][2][1](グループ2)
A/B列に合わせてC列も1から始めたいので+1しておいて後で引く
A B C
[1][1][1](グループ1)
[1][2][1]
[2][1][1]
[2][2][1]
[2][2][2](グループ2)
グループ1のA/B列の変化は、1から2までの通常の2重ループである。
ではグループ2の様にするにはどうすれば良いか?
→開始値を1ではなく2から始めれば良い
→2重ループの外側にもうひとつループを作成して、
その変数の変化を2重ループの開始値にすれば良い
ちょうどC列の変化と一致する。
これを変数iのループとする
内側の2重ループの変数をそれぞれj,kとする。
以上
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- 英語 過去から見た未来を表す would 1 2023/01/14 17:09
- TOEFL・TOEIC・英語検定 英文添削 2 2022/05/18 07:50
- 英語 【 英語 forの意味 】 I will buy my watch back for the sum 3 2023/01/02 22:06
- TOEFL・TOEIC・英語検定 TOEIC公式問題集に記載の英文で質問があります。 There's a flight for 50 1 2023/01/21 06:50
- その他(プログラミング・Web制作) python pandas 行ごとに列名(列番号)を指定して抽出したい 1 2023/05/26 13:47
- 英語 「名詞+for...to不定詞句」で「for以降」が完全な文となる場合の名詞との関係について 4 2023/04/26 09:45
- 英語 分離不定詞 1 2023/07/16 17:29
- Visual Basic(VBA) FileSearch2007に変わる構文について 1 2022/12/16 16:57
- 英語 英語得意な方、お願いします。 5 2022/08/20 14:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミングについて。 1つ...
-
画面を強制的に再描画させる方法
-
DoEventsが必要な理由について
-
エクセルの当番表を作っていま...
-
VBAで3秒だけ時間を止めたい
-
ループ内での条件処理
-
DOSコマンドのループ内のTIMEコ...
-
アクティブセルから、A列最終行...
-
VBA Dir関数でファイルをループ...
-
VBA for i=1 to lastrow
-
UWSCの終了の仕方
-
GIFアニメをループさせたくない
-
while(*s++=*t++)の判定は?
-
範囲指定したセルを1つずつ飛...
-
どなたかこのプログラミングを...
-
Javascriptでalertを大量のルー...
-
テキストボックスの名前に変数...
-
vbscriptでIE自動入力(途中で...
-
乱数の桁数指定、または範囲指定。
-
Java 南京錠
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VBAで3秒だけ時間を止めたい
-
VBAでの一時停止と再開の方法
-
どなたかこのプログラミングを...
-
Escキーを押すと、中断する時と...
-
UWSCの終了の仕方
-
エクセルの当番表を作っていま...
-
VBA for i=1 to lastrow
-
「偶数・奇数の和」のフローチ...
-
アクティブセルから、A列最終行...
-
DoEventsが必要な理由について
-
vb.netからエクセル関数書き込み
-
GIFアニメをループさせたくない
-
DOSコマンドのループ内のTIMEコ...
-
範囲指定したセルを1つずつ飛...
-
流れ図(フローチャート)が分か...
-
乱数の桁数指定、または範囲指定。
-
テキストボックスの名前に変数...
-
CSVファイルの特定の行だけを読...
-
vb.netです。2次元配列の要素を...
おすすめ情報
どうもありがとうございます。
ちなみにいかが全体のコードなのですが、Nが変数の場合でも載せて頂いたプログラムを組み込めば計算できるのでしょうか?
以下は全体のコードです。
#include <iostream>
#include <stdio.h>
#define N 3
double A[N][N] = {
{ 1.0, 2.0, 8.0 },
{ 4.0, 3.0, 2.0 },
{ 1.0, 4.0, 2.0 },
};
double b[N] = { 4.0, 12.0, 4.0 };
#define N 3
void solve(double A[N][N], double b[N]) {
}
int main() {
//(2)-(1)* A[0][0] / A[0][0]
A[1][1] = A[1][1] - A[0][1] * A[1][0] / A[0][0];
printf("過程の計算でのA[1][1]は%f\n", A[1][1]);
A[1][2] = A[1][2] - A[0][2] * A[1][0] / A[0][0];
printf("過程の計算でのA[1][2]は%f\n", A[1][2]);
b[1] = b[1] - b[0] * A[1][0] / A[0][0];
printf("過程の計算でのb[1]は%f\n", b[1]);
//(3)-(1) * A[2][0] / A[0][0]
A[2][1] = A[2][1] - A[0][1] * A[2][0] / A[0][0];
printf("過程の計算でのA[2][1]は%f\n", A[2][1]);
A[2][2] = A[2][2] - A[0][2] * A[2][0] / A[0][0];
printf("過程の計算でのA[2][2]は%f\n", A[2][2]);
b[2] = b[2] - b[0] * A[2][0] / A[0][0];
printf("過程の計算でのb[2]は%f\n", b[2]);
//(3)'-(2)' * A[2][1] / A[1][1]
A[2][2] = A[2][2] - A[1][2] * A[2][1] / A[1][1];
printf("過程の計算でのA[2][2]は%f\n", A[2][2]);
b[2] = b[2] - b[1] * A[2][1] / A[1][1];
printf("過程の計算でのb[2]は%f\n", b[2]);
//変数x2の係数が1の時のb[2]に入る数字が変数x2の解となるため。
b[2] = b[2] / A[2][2];
printf("b[2]は%f\n", b[2]);
//変数x1の係数が1の時のb[1]に入る数字が変数x1の解となるため。
b[1] = (b[1] - A[1][2] * b[2]) / A[1][1];
printf("b[1]は%f\n", b[1]);
//変数x2の係数が1の時のb[2]に入る数字が変数x2の解となるため。
b[0] = (b[0] - A[0][2] * b[2] - A[0][1] * b[1]) / A[0][0];
printf("b[0]は%f\n", b[0]);
for (int k = 0; k < 3; k++) {
printf("b[%d]はb[%d] = %fである\n",k, k, b[k]);
}
return 0;
}
までが全体のコードです。