[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 12:09 / Filesize : 350 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれFORTRAN(超初心者用)その2



1 名前:デフォルトの名無しさん [2006/11/22(水) 00:00:36 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
FORTRAN使いが優しくコメントを返しますが、
お礼はFORTRANの布教と初心者の救済と次期Fortran2008規格でのCOMEFROM文採用をお願いします。

●注意事項
・質問する前にGoogle等の検索サイトで検索しましょう。
・回答者にわかりやすい様に、質問内容はできる限り詳しく書きましょう。
・エラーの場合は起きた状況、環境(OS・コンパイラ)、エラーメッセージも詳しく書きましょう。


●前スレ
くだすれFORTRAN(超初心者用)
pc8.2ch.net/test/read.cgi/tech/1138063703/

●関連スレ
FORTRAN W
pc8.2ch.net/test/read.cgi/tech/1163319215/


795 名前:デフォルトの名無しさん [2007/09/09(日) 19:45:39 ]
visual fortranだと動くのに、FTN95だとめちゃくちゃエラーがでて
コンパイルできません。金が無いんでフリーのFTNで動かしたいのですが
主な原因わかるかたいるでしょうか?

796 名前:デフォルトの名無しさん [2007/09/09(日) 21:04:57 ]
>>789
Fortran まだあるのかよ
Format変換かけて内部にWriteすればよいと思う

SFTNとかUFTNとかあるのだろうか...

$Branchi $do とか...

797 名前:エスパー mailto:sage [2007/09/09(日) 21:51:03 ]
>>795
Visual Fortran独自の機能を使っているからだよ。

798 名前:デフォルトの名無しさん [2007/09/10(月) 13:12:28 ]
FORTRAN使いが許容できるのはFORTRAN77迄だべ。
もはやFORTRANは死んでいる。C言語のプリプロセッサに成り下がった。

799 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 13:46:42 ]
>>798
終わってるのはCのほうだろw


800 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 18:49:41 ]
すいません。
整数を格納する1次元配列と整数のデータがあります.
整数データを重複を許さないで(重複データを飛ばして)配列に格納するにはどうすればよろしいでしょうか?


801 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 19:49:54 ]
>>800
sort
uniq

802 名前:デフォルトの名無しさん [2007/09/11(火) 05:00:09 ]
超初心者です。
format文の練習のために
学籍番号122番のアキラ君は  英語50点,国語80点、数学30点。この3科目の合計点は160点です。」
という文字を表示するプログラムを
   character*20 a
   integer b
   real c,d,e,f
   read(*,10)a,b,c,d,e,f
10 format(a6,i3,3i2,i3)
f=c+d+e
write(*,20)b,a,c,d,e,f
20+format('学籍番号',i3,'番の',a6,'君は',4x,'英語',i2,'点、国語',i2,'点、数学',i2,'点。この3科目の合計点は',i3,'点です。')
stop
end

というように作ったんですけど

0007) write(*,20)b,a,c,d,e,f
0008) 20+format('学籍番号',i3,'番の',a6,'君は',4x,'英語',i2,'点、国語',i2,'点、数学',i2,'点。この3科目の合計点は',i3,'点です。')
*** Non-blank label field in continuation line
0008) 20+format('学籍番号',i3,'番の',a6,'君は',4x,'英語',i2,'点、国語',i2,'点、数学',i2,'点。この3科目の合計点は',i3,'点です。')
WARNING - Characters found after column 72 (use -NO_WARN73 to suppress)
*** Unterminated or empty character constant
2 ERRORS,1 WARNINGS [<MAIN@>FTN77 Ver 4.03]

*** Compilation failed

とでてコンパイルできません。どこがいけないのでしょうか?

803 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 10:05:09 ]
>>802
20+format
プラス記号が紛れ込んで、継続行扱いになっている。それで矛盾。

あと72カラムはみ出している。


一応エラーメッセージを読めば書いてある。
初心者はエラーメッセージを読んでも分からないといって読まないのが普通だが、教養人なら読めw





804 名前:デフォルトの名無しさん [2007/09/12(水) 02:28:32 ]
>>803
返信ありがとうございます。
すいません。お聞きしたいのですが72欄をこえて書くにはどうしたらよいのでしょうか?
ネットで調べたら

6欄は72欄を超えてしまった場合、ここに何か文字を書けば(たいていは「+」を書く)、72欄を越す文であっても続けて書き続けることができるようになります。

と書いてあったのですけど自分の書き方ではいけないのでしょうか?
初心者名質問ですいません。ぜひ教えてください。


805 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 11:37:24 ]
>>804
72カラムを超えては書けないので、次の行に継続することになる。

20 format('学籍番号',i3,'番の',a6,'君は',4x,'英語',i2,'点、国語',
+ i2,'点、数学',i2,'点。この3科目の合計点は',i3,'点です。')

こんなかんじか。よく確かめていないが。


806 名前:デフォルトの名無しさん [2007/09/12(水) 14:59:44 ]
>>804
ありがとうございます。コンパイルできました。

しかしまたあらたな問題が。
ネットでは>>802のプログラムをコンパイルして実行したら

「学籍番号122番のアキラ君は  英語50点,国語80点、数学30点。この3科目の合計点は160点です。」という文が表示されます。

とかいてあったのですが実際に実行したらコマンドプロンプトの画面に

C:\fortaran>format

とでてきて何かを入力するみたいなんですがどのように入力すればいいのでしょうか?

アキラ,122,50,80,30,160

と入力すればいいのでしょうか?でもコマンドプロンプト上では日本語入力できなくてこまってるんですけど。

すいません。また初歩的と思われる質問になってしまって。
お手数ですがよろしくお願いします。

807 名前:デフォルトの名無しさん [2007/09/12(水) 15:01:26 ]
>>804
ありがとうございます。コンパイルできました。

しかしまたあらたな問題が。
ネットでは>>802のプログラムをコンパイルして実行したら

「学籍番号122番のアキラ君は  英語50点,国語80点、数学30点。この3科目の合計点は160点です。」という文が表示されます。

とかいてあったのですが実際に実行したらコマンドプロンプトの画面に

C:\fortaran>format

とでてきて何かを入力するみたいなんですがどのように入力すればいいのでしょうか?

アキラ,122,50,80,30,160

と入力すればいいのでしょうか?でもコマンドプロンプト上では日本語入力できなくてこまってるんですけど。

すいません。また初歩的と思われる質問になってしまって。
お手数ですがよろしくお願いします。

808 名前:デフォルトの名無しさん [2007/09/12(水) 15:02:19 ]
すいません連続投稿となってしまいました。

809 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 20:16:55 ]
>>806
>何かを入力するみたいなんですが
つ READ文
使い方は(ry

>どのように入力すればいいのでしょうか?
アキラ122508030160

>コマンドプロンプト上では日本語入力できなくて
[Alt] + [半角/全角 漢字]

あと >>802 のプログラムは「変数の型」と「FORMAT文」について要復習だ。


810 名前:デフォルトの名無しさん [2007/09/14(金) 23:52:05 ]
>>809
ありがとうございます。

もっとしっかり勉強します!

811 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 23:10:26 ]
www12.plala.or.jp/ksp/formula/mathFormula/html/node8.html

これらの式の右辺部を計算しようとした時に

式の通りに考えて

wa=(1/2)*(n*(n+1))
wa=(1/6)*(n*(n+1)*(2n+1))

のようにしたらうまく計算出来ずにnに何を入れても0が出てしまいます。


wa=(n*(n+1))/2
wa=(n*(n+1)*(2n+1))/6

みたいにしたら出来たのですが。。。
上と下の違いがよくわかりません。括弧などの付け方は間違ってないと思うのですが・・・

変数は
integer n
double precision wa
で設定しました。

812 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 23:40:42 ]
>>811
質問する時は一部だけ示すのではなく、コンパイル出来るソースを
最初から最後まで示すべき。

括弧の中の演算は先に実行されるから、先に(1/2)が計算される。
整数型同士の除算1/2は0となり、0と何が掛けられても0になる。
(1/2)でなく、(1./2.)と書いたら計算結果が変わるでしょ?


813 名前:811 mailto:sage [2007/09/15(土) 23:58:14 ]
質問の仕方が悪かったようで、申し訳ありませんでした。
今後はそのように質問させて頂きます。

問題は無事解決いたしました。どうも有り難うございました。



814 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:00:33 ]
素因数分解をするプログラムを組みました。
出力を99=1*3*3*11
みたいに1行に書きたいのですが
99=1
*3
*3
*11
のように複数行にわたってしまいます。これを改行せずに書きたいのですがどのようにしたらいいのでしょう。
文字列であれば
write(*,'(a\)')'hoge'
のように出来るのですが文字列と整数がごっちゃになった場合だとどうしてもうまくいかなくて・・・
アドバイスお願いします。
また、もしwrite文以外でもおかしな所があれば教えてください。

ソース(f90)は次の書き込みで書きます。

815 名前:814 mailto:sage [2007/09/16(日) 23:01:56 ]
  implicit none
  integer n,i,m,k

  write(*,'(a\)')'input n:'
  read(*,*)n

  write(*,*)n,'=1'
  k=n
  i=2
  do while (i<=k)
    m=mod(k,i)
    if(m==0)then
      write(*,*)'*',i
      k=k/i
      cycle
    else if(k==i)then
      exit
    else
      i=i+1
      cycle
    endif
  enddo
end

816 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:21:51 ]
write(*,'(A,I4,\)') '*', i

817 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 00:45:50 ]
>>814
program unko
implicit none
integer n,i,m,k
write(*,'(a)', ADVANCE='NO')'input n:'
read(*,*)n
write(*,'(i4, a)', ADVANCE='NO')n,'= 1'
k=n
i=2
do while (i<=k)
m=mod(k,i)
if(m==0)then
write(*, '(a, i3)', ADVANCE='NO') ' *', i
k=k/i
cycle
else if(k==i)then
exit
else
i=i+1
cycle
endif
enddo
WRITE(*, *)
end program unko

FORTRAN90の標準内でやろうとすると、ADVANCE='NO'を使うことになると思う。


818 名前:814 mailto:sage [2007/09/17(月) 03:24:10 ]
>>816
>>817
レス有り難うございます!
解決しました!なるほどそのように書けばよいのですか。

同じ改行しないようにするのでも
標準仕様とか拡張?仕様などによって変わるのですね。

819 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 00:18:17 ]
Visual Studio 2005 + Intel Fortran v10 で、ソース行のトレースバックってどうやって表示させるの?
CVFの時代は、簡単に出来たんだけど。
ソース行が分からないと、実行時エラーが出ても対処がめんどい。


820 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 12:46:28 ]
>>819
Version 9系ならソース行付きトレースバックでる。10と共存できるのでとりあえずそれで見たら?


821 名前:デフォルトの名無しさん [2007/09/20(木) 14:13:16 ]
横に並んでいるデータをエクセルで1つのセルに表示させたいので、列ごとにファイルを出そうと思っているのですが
上手く読み込んでくれません。
わかるかたいたら教えていただきたいと思います。


program example
implicit real*8(a-h,o-z)
dimension x1(1000000),x2(1000000),x3(1000000),t(1000000)
open(200,file='iwayaguchi1023k.dat')
open(100,file='x1.dat')
open(110,file='x2.dat')
open(120,file='x3.dat')
m=16.d0
n=2.0**m
read(200,*)
read(200,*)
read(200,*)
read(200,600) (t(i),x1(i),x2(i),x3(i),i=1,n)
600 format(4f10.3)
do 10 k=1,n
read(300,*) x1(k)
read(300,*) x2(k)
read(300,*) x3(k)
write(100,*) x1(k)
write(110,*) x2(k)
write(120,*) x3(k)
10 continue
pause
stop
end


822 名前:デフォルトの名無しさん [2007/09/20(木) 14:14:33 ]
ちなみにもとのデータは以下のようになっています


2004/10/23 17:56:00 37.2900 138.8000 13.0 6.8
NIG001 38.2584 138.4337 2004/10/23 17:56:21
172960.010 N-S E-W U-D
0.000 -0.023 -0.025 -0.001
0.010 -0.006 0.003 0.009
0.020 0.001 -0.023 0.016
0.030 -0.020 -0.044 0.002
0.040 -0.012 -0.021 -0.001
0.050 -0.005 0.002 0.006
0.060 0.021 -0.004 -0.006
0.070 0.012 -0.004 0.004
0.080 -0.022 -0.020 -0.007
0.090 -0.038 0.018 -0.031
(このようなのがずっと続く)
お願い致します。

823 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 20:36:59 ]
>>821
program hoge
implicit none
character*8 dmy
real*8 t, x1, x2, x3
integer i

open(200, file='iwayaguchi1023k.dat', status='OLD')
open(110, file='x1.txt', status='REPLACE')
open(120, file='x2.txt', status='REPLACE')
open(130, file='x3.txt', status='REPLACE')
do 10 i = 1, 3
read(200, *) dmy
10 continue
20 continue
read(200, fmt=*, end=99) t, x1, x2, x3
write(110, *) x1
write(120, *) x2
write(130, *) x3
goto 20
99 continue
close(200)
close(110)
close(120)
close(130)
stop
end

>横に並んでいるデータをエクセルで1つのセルに表示させたいので、
データファイルを開くときにテキストファイルウィザードで
「元のデータ形式」に「スペースによって右または…」を選択して[次へ]
フィールド区切りの矢印をダブルクリックですべて消して[完了]



824 名前:デフォルトの名無しさん [2007/09/21(金) 12:41:54 ]
>>823
ありがとうございます。
おかげさまで問題解決いたしました。

825 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 13:03:30 ]
解決した、しなかっただけでなく、「どのようにして」のところを書いてほしい。

826 名前:デフォルトの名無しさん [2007/09/24(月) 15:01:57 ]
多重積分で2次元から3次元に拡張しただけなのにunpaired right bracketsが
あることと、truncated lineがあるとエラーが出ました。こうしたエラーの
原因はなんでしょうか?

827 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 16:36:38 ]
>>826
超能力者になれるかな。
1行72文字オーバー

828 名前:デフォルトの名無しさん [2007/09/25(火) 13:34:14 ]
825>
言われたとおりやったら解決いたしました

829 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 01:52:57 ]
質問させてください.
あるFortranの計算コード群をソースからビルドしライブラリを作成した後,
Cのコードから呼び出そうと考えています.
ここで
 (1) Fortranコンパイラでビルド
 (2) f2cされたコードをCコンパイラでビルド
の2つには有意な性能の差が生じるのでしょうか.
定説があれば教えて頂けると幸いです.


830 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 03:29:22 ]
定説はないので計ってみるしかない
自分の僅かな経験では
(1)Intel Fortran Compilerと(2) f2c + gccについて
自分の書いたソースで比べたところ(1)の方が速かった

831 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 16:42:57 ]
すいません。
計算終了時に何かしら音が出るようにしたいのですが、
何かBEEP音のようなものを出す命令はないのでしょうか。

832 名前:829 mailto:sage [2007/09/28(金) 02:06:46 ]
>>830
経験談ありがとうございます
時間のとれるときにじっくり計測してみたいと思います

833 名前:デフォルトの名無しさん [2007/09/30(日) 01:30:11 ]
メモ帳でプログラムを組んでるんですが、インデントの感じが気に入りません。
Emacsみたいなフリーで手に入ってWindows XPで動くようなエディタはありませんか?



834 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 01:45:58 ]
>>833
気に入らないも何もメモ帳はインデントしてくれないだろ?
Emacsみたいなのが欲しいのなら、windowsで動くemacsクローンはMeadowとかいろいろある。

835 名前:833 [2007/09/30(日) 09:48:23 ]
notepadのインデントはtabをおしたら何行も進むという意味です。

meadowとxyzzyならどっちがいいでしょうか?

836 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:49:56 ]
>>835
手動インデントのことだったのか。てっきり自動インデントのことかと思った。
でも、タブで何行も進む?本当にそれはメモ帳?
835の「いい」の基準が分からないから実際にmeadowとxyzzyの両方を使ってみて気に入った方にすればいい。
慣れとかの点でemacs系を選択しようとしているんだと思うが、
emacsに拘らないのならメモ帳でソース書くよりは全然マシなフリーなエディタはwindowsにいくらでもあるぞ。
FORTRANに特化したものは無くてもFORTRANモード的なものを持ったものは何もemacsだけではない。

837 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 18:37:01 ]
メモ帳はTABキーを押しても「タブ文字」が挿入されるだけ。

838 名前:833 [2007/09/30(日) 21:19:56 ]
とりあえず、サクラエディタを入れてみました。
質問に答えていただいてありがとうございました。

839 名前:デフォルトの名無しさん [2007/10/02(火) 13:29:19 ]
www.coastal-env.k.u-tokyo.ac.jp/koibuchi/fortran95/fortran77.htm

Fortranを始めようと思ってこのページにある方法でやろうとしているのですが
うまくいきません。

WRITE(*,*) 'TEST'
END
と入力してコンパイルしようとしても
「コンパイルに失敗しました
ファイルC:\.....\fotran.exeは存在しません」
と言われて実行することが出来ません。
これはどうすれば良いのでしょうか?
いますぐFortranを練習する必要があり、困っています。
どなたかお願い致します。


840 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 14:00:49 ]
>>839
fortran.exeがどこにあるか検索してみては?
そんなに急ぐなら、周りの友達に飯でも奢って助けてもらったら?


841 名前:デフォルトの名無しさん [2007/10/02(火) 14:12:49 ]
>>840
fortran.exeの場所はちゃんと指定しています。
コンパイルして作成されるはずの実行ファイルがないと
言われているのですが。
それと
周りにfortranを扱える人はいません。



842 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 14:37:30 ]
コンパイルして作成されるはずの実行ファイルがC:\.....\fotran.exeなの?
それはコンパイラ自身じゃないの?
FORTRAN処理系が何で、どういうインストールの仕方をして、
どこに何というソースファイルを作って、どういうふうにコンパイルをしたか、
詳しく書かないと原因がよくわからない。
単にWindowsのコマンドプロンプトの使い方が分かってないだけの問題ということはない?

843 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 14:44:14 ]
WRITE(*,*) 'TEST'とENDの前に6つのスペース入れていないに1票



844 名前:デフォルトの名無しさん [2007/10/02(火) 15:01:19 ]
>>843
ありがとうございます。
スペースを入れるとうまくいきました。

でも
ace.phys.h.kyoto-u.ac.jp/~tomita/education/fortran90/examples/ex1_1.f90

このページにあるプログラムをそのままコピペして使おうとしても
なぜか同じエラーが出てしまうのですが
これはなぜなのでしょうか?
スペースはちゃんと入っているはずなのですが


845 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 15:10:19 ]
なんでそれで
「コンパイルに失敗しました
ファイルC:\.....\fotran.exeは存在しません」
なんてエラーメッセージがでるんだよw

846 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 15:30:46 ]
>>844
Fortran77のコンパイラでFortran90のコードをコンパイルするのは無理だと思いますよ。
FTN95でもインストールして見てはいかがですか?

>>845
おまい、頭悪いな。>>839がコードのファイル名をfotran.for'として
保存したからに決まってるだろw


847 名前:デフォルトの名無しさん [2007/10/02(火) 15:47:00 ]
Fortran90とFTN95って
どちらの方が新しいのでしょうか?


848 名前:844 [2007/10/02(火) 16:01:30 ]
そんなに特殊な記述を使わない限り90の記述でも
77で使えると聞いたのですが違うのでしょうか?
一体どこの部分を治せばコンパイル可能になりますか?

!----- Ex1_1: 3種類の平均値 -----
PROGRAM Example_1_1
REAL :: a, b, av1, av2, av3
READ *, a, b
av1 = (a + b)/2.0
av2 = (a*b)**0.5
av3 = 2.0/(1.0/a + 1.0/b)
PRINT*, av1, av2, av3
END



849 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 16:19:57 ]
>>848
REALから始まる行を削除すればいい。

850 名前:デフォルトの名無しさん [2007/10/02(火) 16:24:48 ]
>>849
やってみました。
でもうまくいかないようなんですが・・・


851 名前:デフォルトの名無しさん [2007/10/02(火) 16:45:54 ]
www.silverfrost.com/11/ftn95/ftn95_fortran_95_for_windows.asp
を使ってみましたが
それでもうまくいきません。
なんなんでしょうか?これは?


852 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 16:51:26 ]
>>846
「コンパイルに失敗しました」はコンパイラの吐くエラーだし
作られたはずの実行ファイルが無いというメッセージはコンパイラが吐くとは思えないんだが

853 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 17:52:13 ]
>>851
普通にそのコンパイラで>>844のコードも>>848のコードも動きました。
付属のPlato3起動して左上のマウスを乗せるとNewを表示される白いアイコンをクリック
出てきたウィンドウでFree format Fortran source fileが選択されてる事を確認してOKを押す
>>844をコピペしたら、左上のマウスを乗せるとStartと表示される青い三角アイコンをクリック
適当なファイル名で保存(拡張子は弄らない) 保存後にウィンドウが出るが気にせずOKをクリック
で動かなければ後は白根山

>>852
実行ファイルが無いというメッセージはCpadが吐いてる。



854 名前:デフォルトの名無しさん [2007/10/02(火) 19:24:31 ]
>>853
丁寧な解説ありがとうございます。

しかし


それと同じことはすでに行っているのですが
sakuratan.ddo.jp/imgboard/img-box/img20071002191043.jpg
のようなコマンドプロンプト画面が出てくるだけでプログラムが始まりません。
OSはXPsp2なのですが、それと何か関係があるのでしょうか?


855 名前:854 [2007/10/02(火) 19:31:26 ]
すいません、解決しました。
数値を入力すれば良かったんですね。
ありがとうございます。


でも
>>848-849
のように>>839のコンパイラでうまくいかないのはなぜなのでしょうか?
実際に使用するのはFortran77なので
77に準拠したコンパイラを使いたいのですが。


856 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 21:53:39 ]
>>855
何をやったのか
どんな結果になってうまくいかなかったのか
エラーメッセージが出たらその内容

くらい書かないと「しらねーよ」としか答えられない。

857 名前:デフォルトの名無しさん [2007/10/02(火) 22:06:47 ]
>何をやったのか
>どんな結果になってうまくいかなかったのか
>エラーメッセージが出たらその内容

全部>>839に書いてあるのですが・・・


858 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 23:04:32 ]
>>857
「コンパイルに失敗しました」と表示されたときに
CPadの下の方のメッセージウィンドウに何か表示されてない?


859 名前:デフォルトの名無しさん [2007/10/03(水) 11:42:56 ]
>>858
■C:\Documents and Settings\....\Fortran> ftn77 /link ttt.for
[Salford FTN77/Win32 v4.03, Copyright (c) Salford Software Ltd. 1988-1998]
Licensed to: FTN77 Personal Edition
Department: Non-commercial use only
0001) !----- Ex1_1: 3種類の平均値 -----
0002) PROGRAM Example_1_1
*** Unexpected continuation line (have you got more than 19?)
0007) PRINT*, av1, av2, av3
0008) END
*** Non-blank label field in continuation line
0008) END
0009)
*** Unexpected end of file (END statement assumed)
3 ERRORS [<MAIN@>FTN77 Ver 4.03]

*** Compilation failed

^C

というエラーが出ています。
どうすればいいんでしょうか?

860 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 11:51:10 ]
>>859
1から6カラムまで開けろや!

861 名前:デフォルトの名無しさん [2007/10/03(水) 12:34:36 ]
>>860

すいません、どういう意味ですか?
開けるというのは何を開けるのですか?


862 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 18:12:30 ]
言っちゃ何だが、FORTRANの文法をよく勉強したほうが
いいんじゃないか?

自分のしたいことをコード化できないようじゃ理論ギャップ
があるのかバグがあるのか判断できないじゃまいか。

863 名前:デフォルトの名無しさん [2007/10/03(水) 18:14:39 ]
勉強はするつもりです。
だからとりあえずコンパイラがちゃんと動くしたいのです。




864 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 18:42:19 ]
じゃあ、エラーメッセージ読んで考えろよw

865 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 03:45:16 ]
>>861
>>843

どんな入門書でも最初の数ページ以内に書いてあるような基本的なことだぞ。
ちゃんとしたプログラムが書けなきゃコンパイラがちゃんと動くかどうかも確認できないぞ。

866 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 11:29:36 ]
>>865
Fortran90と混同しているから、教えるのはかなり大変だぞwwww

教育者としての真価が問われる。 神化しないと切れるだろうwwwwwwwwwww


867 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 03:23:05 ]
もやすみちゃん

868 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 01:50:10 ]
関数をサブルーチンの引数とすることはできるのでしょうか?
サブルーチンの引数として被積分関数や積分範囲等を設定できればと思っています。
どなたかわかる方がいらっしゃいましたら、ご教授いただければと思います。


869 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 09:45:37 ]
>>868
制限付きでできる。
external 指定をすればよろし。マニュアル味噌。


870 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 13:13:54 ]
>>869

868です。ご返信ありがとうございます。
EXTERNALの指定で無事うまくいきました。

途中コンパイルがなかなか通らずどうしたものかと頭を抱えましたが、
「EXTERNALの指定でうまくいく!」という道筋を示していただけたおかげで、エラーの原因を他のところに絞り込むことができました。

871 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 11:56:52 ]
転置行列を書くために

program ex2_19
implicit none
integer n, i, j
real(8) , allocatable :: c(:,:),ct(:,:)
read(*, *) n
allocate(c(n, n))
call random_seed
call random_number(c(:,:))
write(*, *) c
allocate(ct(n,n))
do i = 1, n
do j = 1, n
c(i, j) = ct(j, i)
enddo
enddo
write(*, *) ct(:, :)

end program ex2_19
というプログラムを書いたのですがどうしても出力結果が転置行列になりません。
どうしてでしょうか?誰か親切な方お願いします。

872 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 12:58:33 ]
>>871
代入文をよく見直せ。

873 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 16:23:34 ]
>>871
ct = transpose( c )
でもできる。



874 名前:871 mailto:sage [2007/10/08(月) 18:01:42 ]
>>872
c(i, j) = ct(j, i)
のところでしょうか?

875 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 19:11:47 ]
c が元の行列
ct が転置行列
だよな?

876 名前:871 mailto:sage [2007/10/08(月) 20:18:58 ]
>>875
そうです。
cは適当に乱数で決定されるようにしました。

877 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 22:50:50 ]
> c(i, j) = ct(j, i)
c(i, j) に ct(j, i) の内容を代入

878 名前:871 mailto:sage [2007/10/09(火) 00:23:13 ]
>>877
わかりました!
なんたる初歩的ミス…、頭の悪い質問ですみません。

ありがとうございました。

879 名前:デフォルトの名無しさん [2007/10/15(月) 17:14:30 ]
   K=0         ← こっちが前?
   DO 100 I=1,10
   K=K+I
10  CONTINUE
   WRITE (6,100) K
100 FORMAT(1H ,i5)  ← こっちが前?


880 名前:デフォルトの名無しさん [2007/10/15(月) 17:16:09 ]
プログラムの「前」ってどっちですか?

   K=0         ← こっちが前?
   DO 100 I=1,10
   K=K+I
10  CONTINUE
   WRITE (6,100) K
100 FORMAT(1H ,i5)  ← こっちが前?

881 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 17:23:19 ]
マルチすんなハゲ

882 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 18:36:36 ]
>>879
前とは先頭のほうだw


883 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 01:11:01 ]
 googleg
G| o o |g
 | L  |
 \_e__/ <ぐぐれかす





884 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 02:22:47 ]
誘導され
>>57
あたりを読みました
FTN95をインストールしました。
plato3(日本語不使用)でコンパイル実行可能でした

fcpadを利用しては出来ないですか?
コンパイラパス
C:\Program Files\Silverfrost\FTN95\ftn95.exe
と入力
コンパイルは通るもののexeファイルが生成されず
おそらく設定の実行付近をいじると出来るのか?と思っていますが

誰か、ご指導願います・・・。


885 名前:884 mailto:sage [2007/10/16(火) 02:40:35 ]
原因は分かりました。
が、解決方法が分からないので教えていただきたいのですが
/LINKがプログラム名の前に入っているため生成が出来ないようです。

【現在】ftn95 /LINK file.f となってしまう
【解決】ftn95 file.f /LINK としたい

解決方法分かる方よろしくお願いします。

886 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 02:44:09 ]
>>884
>>355

fcpadは自由形式のプログラム編集には使えない(向かない)けどな

887 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 00:47:42 ]
割り算の結果がうまく表示されない現象に悩まされています。
integer a,b
character c

write(*,*)'計算式間にスペースを入れて入力'

read(*,*)a,c,b

select case(c)

case('+')
write(*,*)'=',a+b

省略

case('/')
write(*,*)'=',a/b

endselect
stop
end

888 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:33:51 ]
>>887
a,bをINTEGERで宣言しているので、その割り算は切り捨てになる。


889 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 12:04:30 ]
結果自体が表示されないんですが…。
realで宣言しても同じです

割り算以外の演算は問題なしです

890 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 17:37:05 ]
>>889
どのようにおかしいか、出力例も交えて、もっと情報を提供しなさい。
>>887の内容では誰も答えられない。

891 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 17:51:28 ]
>>887
やってみた。

例えば、 4 / 2
と入力しても、case('/')に入らない。
もし
case default
を用意したら、そこに入る。

代わりに
4 "/" 2
あるいは
4 '/' 2
と入力したら
= 2
を返した。


892 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 19:00:27 ]
ゲイツにきけwwwwwww

893 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 20:08:28 ]
並び順番 READ 文の規則
ttp://www.xlsoft.com/jp/products/intel/cvf/docs/vf-html/lr/lr10_03_01_02.htm
>実行中に斜線 (/) が現れると,READ 文は終了し,残りの入力並び項目は変更されないままになります。



894 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 20:46:18 ]
誰か、Fortranで(いろんな意味で)生産性の高いコードを書くコツみたいの、挙げてくれ
Fortranユーザって他の言語に比べてそういうのあんまり意識しなさそうだけど

895 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 21:59:39 ]
>>894
つ www.mri-jma.go.jp/Project/mrinpd/coderule.html






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<350KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef