最初に行列の次元nの値を入力し、配列を使って次の計算をするプログラムを作りなさい。ただし、nは100以内で、n次の正方行列とする
行列Aを入力すると、その転置行列Aを計算するプログラム
の問題がわかりません
教えてください
お願いします
転置行列を計算する c言語
Re: 転置行列を計算する c言語
オフトピック
(転置の前後が共に「行列A」…ということはAは対称行列であって,特に何も計算しなくて良い)
Re: 転置行列を計算する c言語
何がわからないのでしょうか。
ただ,禁止されていなくても「何がわかって何がわからないか」をはっきりと伝えないと,だいたいの掲示板等で求めるような情報が出てこないと思いますよ。
とりあえず,フォーラムルールにあるテンプレに沿って,質問をし直してみてはいかがでしょうか。
- 根本的に,数学的にAからtAを求める方法がわからない
- プログラムを作成する方法が (Hello, worldレベルでも) わからない
- nを入力させる方法がわからない
- n次正方行列を保持するだけの配列を用意する方法がわからない
- 行列Aの入力方法がわからない
- 入力された行列Aから転置行列tAを求める方法がわからない
- tAを表示する方法がわからない
- その他
ただ,禁止されていなくても「何がわかって何がわからないか」をはっきりと伝えないと,だいたいの掲示板等で求めるような情報が出てこないと思いますよ。
とりあえず,フォーラムルールにあるテンプレに沿って,質問をし直してみてはいかがでしょうか。
オフトピック
nを入力→配列用意,というのはCなら (C99以降) 簡単だけれど,C++では難しい (というか面倒臭い) 部類のものだなぁ。
C++の規格書見ても追従しなかった理由は書いていないし……現状としてはC++14で入れようとして頓挫,TR期待,という状況の模様。
まぁ,デストラクタの実行数の問題なんかも考えなければいけないしね……。
C++の規格書見ても追従しなかった理由は書いていないし……現状としてはC++14で入れようとして頓挫,TR期待,という状況の模様。
まぁ,デストラクタの実行数の問題なんかも考えなければいけないしね……。
Re: 転置行列を計算する c言語
えーと,その回答は予想外だったのですが……。denden さんが書きました:数学的にAからtAを求める方法がわかんないです。
転置行列がわからない,ということでしょうか。
元の行列Aの(i, j)成分がaijの時,転置行列tAは(i, j)成分がajiからなる行列になります。
簡単に言うと,左上から右下に線を引いたときに,その線を対称軸として成分をひっくり返した行列になります。
例えば行列がの時,転置行列はになります。
このあたり,大丈夫でしょうか。
おそらく,大学の線型代数で出てくると思いますが,転置行列とは何かを知るだけであればWikipedia (ja)で十分だと思います。
オフトピック
少なくとも,私は高校数学で習った覚えはないです。大学の線型代数の授業中で出てきた覚えはありますが。
とはいえ,十数年前の話なので,現在どうなっているかはわかりません。
とはいえ,十数年前の話なので,現在どうなっているかはわかりません。
Re: 転置行列を計算する c言語
ありがとうございます。転置行列のことはわかりました。
でも、いざプログラムを作成しようとするの作成方法が
わかりません。教えてください
おねがいします
でも、いざプログラムを作成しようとするの作成方法が
わかりません。教えてください
おねがいします
Re: 転置行列を計算する c言語
2つの数値を入れ替えるプログラムを書くことはできますか?densen さんが書きました: でも、いざプログラムを作成しようとするの作成方法が
わかりません。教えてください
もしできるならば、それを転置行列の場合、
つまり
i行j列の要素とj行i列の要素とを入れ替える
に応用すればよいです。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。