• 締切済み

C++についての質問です

プログラミング初心者です n次正方行列同士の積のプログラムを作成したいのですがどうもうまくいかないです 次元及び成分を入力させて計算させたいです よろしくお願いいたします。

みんなの回答

回答No.1

>どうもうまくいかないです 他の人は、あなたがなにがうまくいっていないのかが わかりませんので、既存のソースと問題点を 書いてみたほうがいい回答がつくかもしれませんよ。

関連するQ&A

  • C言語プログラム

    N次の複素正方行列S,Tの積Uを計算するプログラムを作りたいのですが、実数で正方行列を計算するプログラムと 複素数の積、和のプログラム struct complex { double re; double im; }; を作ったのですが、この二つをまとめるとプログラムができるらしいのですがまとめ方が全然わかりません。どのようにしたらいいかヒントなど教えてください。

  • 三角行列 対角行列

    三角行列における行列式の計算は、 対角成分の総積で計算できますが、 対角行列(正方行列であって、その対角成分以外がゼロ であるような行列の事。)の行列式も同様に対角成分の 総積で計算して良いでしょうか? 以上、ご回答よろしくお願い致します。

  • 行列の積のプログラム

    n次正方行列X=(xij),Y=(yij)の積XYの(i,j)成分はΣ(k=1,n)xikykjで定義される。これをmin{k∈1,2,…n}(xik+ykj)と変更する。 ※minXは、Xの中の最小値を意味する。 このとき、次の行列D D= 0 6 2 9999 4 0 3 4 9999 1 0 8 9999 2 9999 0 の新しい行列の積の定義によるD^3とD^4を計算せよ。 行列がうまく表せず見にくいと思いますが、4次正方行列となっています。 D^2= 0 3 2 10 4 0 3 4 5 1 0 5 6 2 5 0 D^3= 0 3 2 7 4 0 3 4 5 1 0 5 6 2 5 0 D^4= 0 3 2 7 4 0 3 4 5 1 0 5 6 2 5 0 であっていますか?教えてほしいです。よろしくお願いします。

  • C++についての質問です

    プログラミング初心者です 以下の通りに正方行列の積を求めるプログラムを作成したのですが、うまくいきません。 #include<stdio.h> #define DTM 20 void InputMatrix(double[][DTM], int, char); void PrintMatrix(double[][DTM], int, char); void MatrixMulti(double[][DTM], double[][DTM], double[][DTM], int); int main(void) { double matrixA[DTM][DTM]; double matrixB[DTM][DTM]; double matrixC[DTM][DTM]; int n; printf("正方行列の積を求めるプログラムです\n"); printf("正方行列の次元を入れてください(<=20):"); scanf_s("%d", &n); InputMatrix(matrixA, n, 'A'); InputMatrix(matrixB, n, 'B'); MatrixMulti(matrixA, matrixB, matrixC, n); printf("\n行列 C =A×B\n"); PrintMatrix(matrixC, n, 'C'); return 0; } void InputMatrix(double a[][DTM], int n, char ch) { int i, j; printf("行列 %cの入力\n", ch); for (i = 0; i < n;i++) { for (j = 0;j < n;j++) { printf("%c[%d][%d] =", ch, i + 1, j + 1); scanf_s("%lf", &a[i][j]); } } } void PrintMatrix(double a[][DTM], int n, char ch) { int i, j; printf("行列 %c の出力\n", ch); for (i = 0;i < n;i++) { for (j = 0;j < n;j++) { printf("%5.2f\t", a[i][j]); } printf("\n"); } } void MatrixMulti(double a[][DTM], double b[][DTM], double c[][DTM], int n) { int i, j, k; for (i = 0;i < n;i++) { for (j = 0;j < n;j++) { c[i][j] = 0; for (k = 0;k < n;k++) { c[i][j] =a[i][k] * b[k][j]; } printf("%5.2f\t",c[i][j]); } printf("\n"); } }

  • C言語のscanf関数についての質問です。

    閲覧ありがとうございます。 C言語についての質問です。 nと、2つのn×n行列の各成分をキーボードから入力し、 その和を計算するプログラムを作ろうとして i,j,と行列二つの配列(a[n][n]とb[n][n])をintで定義した後、 printf("行列aの成分を入力してください。\n"); for(i=0; i<=n-1; n++) {for(j=0; j<=n-1; j++) { scanf("%d",&a[i][j]); } } printf("行列bの成分を入力してください。\n"); for(i=0; i<=n-1; n++) {for(j=0; j<=n-1; j++) { scanf("%d",&b[i][j]); } } というプログラムを書いてn=3としたのですが、 「行列aの成分を入力してください」と表示されて 例えば「1 2 3 4 5 6 7 8 9」と入力してEnterキーを押しても 「行列bの成分を入力してください」という文が表示されません。 C言語を学び始めてまもないので、 まだ基本的なところが理解できていないかもしれません。 何が原因だかわかる方、解答頂けると嬉しいです。

  • 非正方行列の行列式をC言語で計算したいのですが。

    非正方行列の行列式を求めたいのですがどのような式になるのでしょうか? また、これをC言語で作成しなければなりません。 プログラミングはほぼ初心者なので、回答者様の手間にならない程度で優しく回答していただければと思います。 宜しくお願いします。

  • 多次元配列の行列

    1番 キーボードから3×3の行列の要素を2次元配列に入力した後、その値を表示するプログラムをさくせいせよ 2番 キーボードから3×4の行列の要素を2次元配列に入力した後、転置行列を出力するプログラムをさくせいせよ 3番 2つの行列A(3×3行列)、B(3×3行列)の買う要素の値をキーボードから2つの配列に入力し、2つの行列、並びに、それらの和、差、積の行列を出力するプログラムを作成せよ(Bに単位行列を入れて検算せよ) 4番 2行3列の行列と3行2列の積を求めるプログラムを作成せよ どなたかわからないでしょうか?? 数が多くてすみません。 わかる方お願いします!!

  • 行列計算で、なぜ下記が成立かわかりません。

    行列計算で、なぜ下記が成立かわかりません。 (I+A)^n =I + A+ A^2 + A^3 + ...+ A^n ここで、Iは単位行列、Aは0, 1要素からなる正方行列、A^nはAのn乗(積は論理積)。

  • cのプログラミングで虚数を含む行列の計算の考え方がわかりません

    cのプログラミングで行列の積を計算するものまではできたのですが、その行列の中に虚数を含むものの考え方がよくわかりません。 たとえば  ia b  c id    (a,b,c,dが実数、iが虚数) というような行列があるときこれと同じものの積を何回かするプログラムを作るとき、虚数をどのような対処をすればいいのでしょうか? よろしくお願いします。

  • 行列の証明問題です。

    n次正方行列Aが任意の正則行列Pに対して P^-1APとすると、 (1 1)成分が1 (n 1)成分が0(n≧1) であるn次正方行列になるならば A=Eである。 証明の方針を教えてくれませんか?