OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

行列内の行の交換,列の交換をするプログラム

  • すぐに回答を!
  • 質問No.246417
  • 閲覧数1167
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 57% (27/47)

行列内の行の交換,列の交換を行うプログラムを作成しています.
http://www.math.meiji.ac.jp/~mk/lecture/ouyousuurijikken/matrix-lib-v2/node20.html
のページにある方法で行交換はすることができたのですが,列交換をする方法がわかりません.
上のサイトのやり方を改造して,どうにか列交換をすることはできないのでしょうか?
分かる方おられましたら回答ください.
よろしくお願いします.
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル10

ベストアンサー率 61% (70/113)

要素を1つ1つ交換するしかないと思います。
行の方は参照時に行管理用のポインタを通してアクセスしているので、ポインタを入れ替えるだけですみますが、
列の方はそのような構成になっていないので要素ごとに処理する必要があります。
行列の実装方法を変えれば列の交換もスムーズにできるようにはなりますが、
そのようにしてしまうと、現在のような2次元配列ライクな記法はできなくなりますし、
要素にアクセスする際の無駄が増えますので、用途を限定しない場合にはやめた方が良いでしょう。

それから、エラー処理が少し甘いですね。
new_matrix()内のabody=malloc()の部分で失敗した場合、行の管理用に確保したメモリ(a=malloc())が解放されませんので。
この可能性を無視する、というのなら、せめて要求メモリサイズの大きいabodyの方を先に確保する方が良いでしょう。
お礼コメント
ichiro29

お礼率 57% (27/47)

要素を一つ一つ交換する方法で,列交換をすることにしました.
かなり大きな行列を用いるため,少し不安が残りますが…。
回答ありがとうございました.
投稿日時 - 2002-04-04 15:51:52
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ