n×n行列同士の掛け算をする文が書けません。data文を使わないで、read文を使って、次元nと行列A,Bを入力したいんですが、どなたか教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

パラメタ文を使った任意サイズの行列同士の掛け算



program main
parameter(nn=3)
real a(nn,nn),b(nn,nn),c(nn,nn)

ファイルから行列に値を読み込む
do i=1,nn
read(*,*)(a(i,j),j=1,nn)
enddo
do i=1,nn
read(*,*)(b(i,j),j=1,nn)
enddo

行列cを初期化(値を0に)
do i=1,nn
do j=1,nn
c(i,j)=0
enddo
enddo

a*bによりcを求める
do i=1,nn
do j=1,nn
do k=1,nn
c(i,j)=c(i,j)+a(i,k)*b(k,j)
enddo
enddo
enddo



で、parameter(nn=3)をnも入れたいのだったらdo文の前にREAD文を入れてnnに入れればいいのではないかと思いますが、

やりたいことは違うのでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2001/10/22 00:59

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【京都市】美味しいアップルパイを売ってる店

妻がとてもアップルパイが好きなので
チャンスがあれば色々な店のアップルパイを
会社帰りにでも買って帰りたいと思ってます。
京都市内でアップルパイが美味しいお店を教えて下さい。

Aベストアンサー

初めまして、こんにちは。

【松之助】
アメリカンケーキがどれも絶品のケーキ屋さんです。
こだわりのアップルパイは、サクサクっとした食感があって美味しいですよ♪
京都には2店舗あります。
http://www.matsunosukepie.com/index.html

お役に立てればイイのですが・・・。

Q【COBOL】read文でエラー

COBOLで以下のエラーが発生しています。

xxファイルの'READ'文で,実行順序の誤りが発生しました.'AT-END '. PGM=xx. LINE=xxx

PGの内容としては、
2つのinputファイルを読み込み、マッチング処理を行ってoutputするという処理です。

エラー行数は、2つ目のinputファイルをreadするところでエラーとなっています。
2つの異なったファイルをreadすることができないのでしょうか。
どこがNGなのかわかりません。

追記すべき箇所があれば記載します。
アドバイスをお願いします。

Aベストアンサー

実行順序の誤りということは、
OPENしていないのにREADした。CLOSEしてからREADした。そういうエラーです。

2つの異なるファイルを読むのはできます。
OSとメモリーが許す限り、いくつでも開いて読むことができますね。

Q緊急!アップルパイのレシピ

明日アップルパイを作ろうと思います。型を使わずに作ろうと思っています!前アップルパイを作ったらパイの部分が表面はサクサクに焼けていたんですが下の部分(オーブンシートに接してるところ)がべちょべちょで油っぽかったんです。

どなたか失敗なしでサクサクのアップルパイのレシピ教えてください!

Aベストアンサー

失敗しないアップルパイで2件ほど参考になる記事がありましたのでご紹介しておきます。

下に敷くシートに、よく焼いたパン粉を乗せるのです。
そうするとフィリングの水分をパン粉が吸ってくれて、パリッと仕上がりました。
もうひとつ!上と下の生地をあわせるときは、周りをフォーク等でつぶさないで卵黄で接着するだけにすると、側面にふっくらと層ができます。

http://butachoki.exblog.jp/4669677#4669677_1

参考URL:http://toyotires.jp/care/select_car.html

QRuby while line = DATA.gets と DATA.each do |line| の違い

DATA.each do |line|
if /code,(.+)/=~line
code=$1
elsif /name,(.+)/=~line
puts "code=#{code} name=#{$1}"
end
end
__END__
code,001
name,ipp
code,002
name,opp

上記実行結果は以下の様に変数codeの値が出力されません。
code= name=ipp
code= name=opp

ところがプログラムの一行目をwhile line = DATA.getsに変更すると、以下の様に値が出力されます。
code=001 name=ipp
code=002 name=opp

どういう理屈なんでしょうか? 教えていただけませんか?
また、DATA.each do |line|の書式で、変数code(DATAの一行前で代入した値)を有効にする方法はあるのでしょうか?

Aベストアンサー

eachはスコープを生成するので、
code=$1はeachブロック内のローカル変数と見なされます。
そのため、code=$1を通らないときはcodeに対する代入が行われていないと見なされ、
code==nilとなります。

Rubyリファレンスマニュアル - trap::スコープ、制御構造
http://www.ruby-lang.org/ja/man/?cmd=view;name=trap%3A%3A%A5%B9%A5%B3%A1%BC%A5%D7%A1%A2%C0%A9%B8%E6%B9%BD%C2%A4
より引用
| while や for がスコープを作らないのに対し、loop や each などのイテレータはスコープを作ります。


> DATA.each do |line|の書式で、変数code(DATAの一行前で代入した値)を有効にする方法はあるのでしょうか?
----
code=""
DATA.each do |line|
#後略
----
のように、あらかじめ変数codeを宣言(代入)しておけばよいです。


[参考]
http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/8472?8393-8678

eachはスコープを生成するので、
code=$1はeachブロック内のローカル変数と見なされます。
そのため、code=$1を通らないときはcodeに対する代入が行われていないと見なされ、
code==nilとなります。

Rubyリファレンスマニュアル - trap::スコープ、制御構造
http://www.ruby-lang.org/ja/man/?cmd=view;name=trap%3A%3A%A5%B9%A5%B3%A1%BC%A5%D7%A1%A2%C0%A9%B8%E6%B9%BD%C2%A4
より引用
| while や for がスコープを作らないのに対し、loop や each などのイテレータはスコープを作ります。


> DATA...続きを読む

Q簡単に焼けるアップルパイ

私の彼は甘いものが大好きで、特にプリンとアップルパイが好きなのですが
今度、彼と付き合って1年になるので、彼の好きなお菓子を作ってあげたいと思っています。

プリンは彼も作れるので、アップルパイを作ろうかと思うのですが
アップルパイって難しそうですよね・・・。
私は焼き菓子とかは作るのですが、パイとかは作ったことがありません・・・。

しかも、家のオーブンは本格的なケーキなどを焼くようなオーブンでもないんです。
アップルパイで、簡単に焼けるレシピってありますでしょうか?

また、簡単に作れるアップルパイの作り方が載ったレシピ本とか売ってませんでしょうか?

どなたかアドバイスいただけませんでしょうか・・・
お願いします!!

Aベストアンサー

こんにちは。
パイは生地から作ろうと思うと面倒ですが、冷凍パイシート(折りパイ生地)を使うとそれはそれは簡単に色々なパイが作れます。

うちの夫もアップルパイが大好きなので私も良く作りますので、『アップルパイ食べたーい!』と言われてからスグにでも作れる作り方を書きますね。

まず、冷凍パイシートは冷凍庫から出して置いておきます。その間にリンゴをくし型など好きな形に切って耐熱のボウルなどに入れ砂糖をふりかけレモン汁を少し絞ります。分量は適当で大丈夫です!

電子レンジでラップをしないで2分ずつくらい加熱して好みのやわらかさにします。(一気に加熱すると砂糖が煮立って吹きこぼれますので様子を見ながら時々かき混ぜてこまめに加熱してください)
そこに好みでレーズンやシナモンを加えて混ぜて冷ましておきます。(味見をして甘味が足りなければ砂糖を足して再度加熱してください)

その間にパイシートを2枚四角く伸ばします。(上に乗るほうは若干大きめになるようにして)

オーブンシートの上にパイシートを置きその上にレンジで煮たリンゴを並べ、上になるパイシートをかぶせて少しひっぱりつつ端をそろえ、フォークの背でフチを模様をつけるようにグルッと一周押さえます。

後は、表面にナイフで葉っぱの柄を書いたり放射状に飾り線などを入れて、余裕があれば溶き卵も塗るとみためが立派になります。

焼くときはパイシートの袋に何度くらいとか書いてあると思いますのでそのとおりに。わからなければ200度前後で表面がこんがり良い色になるまで(うちの場合は10分ちょっとで焼けます)焼けばOKです。

かんたんに作れるのがお分かりになったでしょうか?

一度作ってみると本当に簡単なのがわかりますので、その後生地作りにも挑戦したり、リンゴもお鍋で本格的に煮てみたり丸い型で焼いてみたりしてみてはいかがでしょうか?

でもレンジで作ってもなかなかいけますヨ。食べたいときにすぐ作れるし。
秋なのでサツマイモもレンジでチンしてバターとミルクでマッシュにしてリンゴと2段にしてパイにしてもいいですよね~。

本格レシピも写真つきのがありましたので参考までに貼っておきます♪
参考になると良いですが。

参考URL:http://www.katch.ne.jp/~kamys/resipi/resipi_cake/pie/appilepie.files/appilepie.htm

こんにちは。
パイは生地から作ろうと思うと面倒ですが、冷凍パイシート(折りパイ生地)を使うとそれはそれは簡単に色々なパイが作れます。

うちの夫もアップルパイが大好きなので私も良く作りますので、『アップルパイ食べたーい!』と言われてからスグにでも作れる作り方を書きますね。

まず、冷凍パイシートは冷凍庫から出して置いておきます。その間にリンゴをくし型など好きな形に切って耐熱のボウルなどに入れ砂糖をふりかけレモン汁を少し絞ります。分量は適当で大丈夫です!

電子レンジでラッ...続きを読む

QVHDLで、case文とwhen文のどちらを使おうか迷っています。

VHDLで、case文とwhen文のどちらを使おうか迷っています。

以下のようなプログラムを作ろうと思っています。
//ここからcase文もしくはwhen文
SWの値を読み込み、
1の時signalに10を代入
2の時signalに20を代入



10の時signalに100を代入
//ここまでcase文もしくはwhen文

process(clk)
clkが立ち上がる回数をカウントしていき、signalと同じ数になった時に1を出力
それ以外は0を出力
end process

case文はprocess文で、when文は同時処理文で記述することは知っていますが、このような場合、どちらを使ったらいいのでしょうか?

Aベストアンサー

case文の方が良いでしょう。というか、私ならcase文にします。合成結果が良さそうだからです。(実際は同じかも知れませんが)どんな文でもあまり深い記述にしない方がいいかなと思います。

Qアップルパイ!!

今、数年ぶりにアップルパイを食べています!


おいしい!アップルパイってこんなに美味しかったんですね~
久しぶりすぎてそのおいしさに感動です。

さっそく、アップルパイの作り方を調べて見たのですが、煮るんですねりんごを。そのあたりからよくわかっておりませんでした~

いやあ、アップルパイひとつでこんなに幸せなほんわか気分になれるとは。

今日はアップルパイ記念日にしよう。

アップルパイすきですか?

Aベストアンサー

美味しいですよね~♪

本格的に作るならリンゴを煮るところから始めないとですけど、意外と簡単にできる方法もあるんですよ。
それは…
切って砂糖をまぶしたリンゴを、ギョーザの皮で包んで、揚げて、もう一度砂糖をまぶす!
それだけ!
皮は2枚使って平たく包むとそれっぽい!

マックのホットアップルパイみたいな味になります。
良ければお試しあれ~

Qループを使った掛け算のプログラミング

こんにちわ。

Loopを使い、1~12までの掛け算の表を作ります。Rowが初め、Colが二番の変数になり、
Row、Colともに一つずつ増えます。

1x1=1
1x2=2
........
1x12=12
2x1=2
........
12x12=144

というようにすべての掛け算を表示させたいのですが、私が作ったプログラムで
上記のように表示されるのか、わからなくなってきてしまいました。
言語は問いませんのでアドバイスお願い致します。

下記が私が疑似コードで書いたものです。

Declare row, col, total As int

  For (row=1; row<=12; row++)

  For (col=1; col<=12; col++)

  Calculate total=row*col

  Display "row" + "*" + "col" + "=" + "total"

  EndFor

EndFor

よろしくお願いします。

Aベストアンサー

意図自体は表現できているのではないでしょうか
他の方々も仰られてる通り、御自身で試されるのが一番簡単且つ手早いと思います。

スクリプト言語で書いた時の一例だけ貼っておきます

Python3
https://ideone.com/gNrju

Ruby
https://ideone.com/UUQ2K

Qアップルパイの作り方

はじめまして。
りんごをたくさん頂いたので、冷凍のパイシートを使ってアップルパイを作ってみたいと思うのですが・・・はずかしながら初挑戦です。
初心者でも、オーブントースターで簡単に美味しく作れるアップルパイのレシピを知っている方がありましたら、是非教えて下さい。よろしくお願いします。

Aベストアンサー

こんばんは。

生りんご・冷凍パイシート・オーブントースターの条件で、
一番簡単そうなものを拾ってみました。

○ HIRO'S HOME PAGE 簡単レシピ 簡単アップルパイ
http://www.i-chubu.ne.jp/~soyama/apple.html

ご参考程度に。

参考URL:http://www.i-chubu.ne.jp/~soyama/apple.html

QC# 二次元配列で二次元目の数が不明な場合

int array[10][不明]
上記のように一次元目は10個で2次元目はランダムに増やせるようにしたいのですが、どのようにすればよいでしょうか?
array[1]の二次元目に新たに追加されることもあればarray[2]の二次元目に新たに追加されることもあり、
最終的にarray[1]の二次元の数は3で、array[2]の二次元は10になったり毎回ランダム。
このようにarray[0]~array[9]の二次元目の数が毎回ランダムに対応できるようにする場合にはどうすればよいでしょうか。
キーも値もいずれも数値です。
よろしくお願いいたします。

Aベストアンサー

http://msdn.microsoft.com/ja-jp/library/6sh2ey19(v=vs.110).aspx
Listの1次元配列では駄目でしょうか?

var array = new[] {
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
};

array[0].Add(5); // 追加

System.Diagnostics.Debug.WriteLine("[0]の個数 " + array[0].Count);
System.Diagnostics.Debug.WriteLine("[0][0]の値" + array[0][0]);

http://msdn.microsoft.com/ja-jp/library/6sh2ey19(v=vs.110).aspx
Listの1次元配列では駄目でしょうか?

var array = new[] {
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
new List<int>(),
...続きを読む


人気Q&Aランキング

おすすめ情報