転置行列を計算する c言語

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
denden

転置行列を計算する c言語

#1

投稿記事 by denden » 4年前

最初に行列の次元nの値を入力し、配列を使って次の計算をするプログラムを作りなさい。ただし、nは100以内で、n次の正方行列とする
行列Aを入力すると、その転置行列Aを計算するプログラム

の問題がわかりません
教えてください
お願いします

denden

Re: 転置行列を計算する c言語

#2

投稿記事 by denden » 4年前

付けたし
行列Aを入力すると転置行列Aを計算するプログラム

アバター
usao
記事: 1573
登録日時: 6年前

Re: 転置行列を計算する c言語

#3

投稿記事 by usao » 4年前

オフトピック
(転置の前後が共に「行列A」…ということはAは対称行列であって,特に何も計算しなくて良い)

YuO
記事: 941
登録日時: 9年前
住所: 東京都世田谷区

Re: 転置行列を計算する c言語

#4

投稿記事 by YuO » 4年前

何がわからないのでしょうか。
  1. 根本的に,数学的にAからtAを求める方法がわからない
  2. プログラムを作成する方法が (Hello, worldレベルでも) わからない
  3. nを入力させる方法がわからない
  4. n次正方行列を保持するだけの配列を用意する方法がわからない
  5. 行列Aの入力方法がわからない
  6. 入力された行列Aから転置行列tAを求める方法がわからない
  7. tAを表示する方法がわからない
  8. その他
この掲示板では宿題の丸投げは禁止されています (フォーラムルール参照)。
ただ,禁止されていなくても「何がわかって何がわからないか」をはっきりと伝えないと,だいたいの掲示板等で求めるような情報が出てこないと思いますよ。
とりあえず,フォーラムルールにあるテンプレに沿って,質問をし直してみてはいかがでしょうか。
オフトピック
nを入力→配列用意,というのはCなら (C99以降) 簡単だけれど,C++では難しい (というか面倒臭い) 部類のものだなぁ。
C++の規格書見ても追従しなかった理由は書いていないし……現状としてはC++14で入れようとして頓挫,TR期待,という状況の模様。
まぁ,デストラクタの実行数の問題なんかも考えなければいけないしね……。

denden

Re: 転置行列を計算する c言語

#5

投稿記事 by denden » 4年前

数学的にAからtAを求める方法がわかんないです。

YuO
記事: 941
登録日時: 9年前
住所: 東京都世田谷区

Re: 転置行列を計算する c言語

#6

投稿記事 by YuO » 4年前

denden さんが書きました:数学的にAからtAを求める方法がわかんないです。
えーと,その回答は予想外だったのですが……。
転置行列がわからない,ということでしょうか。

元の行列Aの(i, j)成分がaijの時,転置行列tAは(i, j)成分がajiからなる行列になります。
簡単に言うと,左上から右下に線を引いたときに,その線を対称軸として成分をひっくり返した行列になります。

例えば行列が

コード:

1 2 3
4 5 6
7 8 9
の時,転置行列は

コード:

1 4 7
2 5 8
3 6 9
になります。

このあたり,大丈夫でしょうか。
おそらく,大学の線型代数で出てくると思いますが,転置行列とは何かを知るだけであればWikipedia (ja)で十分だと思います。
オフトピック
少なくとも,私は高校数学で習った覚えはないです。大学の線型代数の授業中で出てきた覚えはありますが。
とはいえ,十数年前の話なので,現在どうなっているかはわかりません。

densen

Re: 転置行列を計算する c言語

#7

投稿記事 by densen » 4年前

ありがとうございます。転置行列のことはわかりました。

でも、いざプログラムを作成しようとするの作成方法が
わかりません。教えてください

おねがいします

box
記事: 1746
登録日時: 9年前

Re: 転置行列を計算する c言語

#8

投稿記事 by box » 4年前

densen さんが書きました: でも、いざプログラムを作成しようとするの作成方法が
わかりません。教えてください
2つの数値を入れ替えるプログラムを書くことはできますか?
もしできるならば、それを転置行列の場合、
つまり
i行j列の要素とj行i列の要素とを入れ替える
に応用すればよいです。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

閉鎖

“C言語何でも質問掲示板” へ戻る