- ベストアンサー
プログラムで数値データの読み込み方法についての質問
パんだ パンだ(@Josquin)の回答
- パんだ パンだ(@Josquin)
- ベストアンサー率30% (771/2492)
10 format(f8.5,e8.2) か 10 format(f7.5,e9.2) にしてみてください。 だめなら、データを分けて、 1.11111 22.2222 333.333 4444.44 read(*,10) energy 10 format(f7.5) と 1.00E+01 2.00E+01 3.00E+01 4.00E+01 read(*,10) count 10 format(e8.2) で正常に読みこめるのかチェックしてください。
関連するQ&A
- FortranのFormatについて
Fortranで数値を出力するときのFormatについて質問です。 数値を小数点を無くして、指数表示で出力したいです。 例えば 0.0025 を 25E-4 と出力するのが希望です。 調べたところ、 『■pe■.■e■』(■は数値)というFormatにすれば、 1番目の値は小数点以上の桁数 2番目の値は数値が入る幅 3番目の値は小数点以下の幅 4番目の値は指数の桁数 ということがわかりました。 『2PE8.3e1』だと 0.0025 は 25.00E-4 と出力されます。 『2PE6.1e1』だと 0.0025 は 25.E-4 と出力されます。 しかし、この小数点を消す方法がどうしてもわかりません。 『2pe6.0e1』と設定してもうまく出力されません。 詳しい方がいらっしゃったらぜひ教えてください。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- 「セグメンテーション違反」について
参考書に載っていたプログラムを打ち込みながら勉強していたのですが、次のプログラムを動かしたときに「セグメンテーション違反」と出てきました。 /* 可変書式による印字_簡単な棒グラフ */ #include <stdio.h> main() { char *f, *a; int i; f="%2d = %-20.1s\n"; a="********************"; for(i=1; i<10; i++){ *(f+11)=i+'0'; printf(f,i,a); } } コンパイル後に、 「セグメンテーション違反です」 と、表示されて終わってしまいます。 何処が問題だったのでしょうか???教えて頂ければ幸いです。
- ベストアンサー
- C・C++・C#
- PHPのセグメンテーション違反に対する例外処理について
PHPのセグメンテーション違反に対する例外処理について 再帰呼び出しのプログラム(error_seg.php)を作成し、Linuxのシェルで $ php error_seg.php と実行しました。 実行環境: PHPのバージョン:5.2.10 Linuxのバージョン:2.6.18-164.15.1.el5 (mockbuild@builder16.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Wed Mar 17 11:37:14 EDT 2010 プログラムは下記の通りです。 <?php $cnt=0; function func(){ global $cnt; $cnt++; print $cnt . "回目の呼び出し\n"; func(); } try{ func(); }catch(Exception $e){ echo "例外発生:" . $e->getMessage()."\n"; } ?> ※このプログラムは、 http://d.hatena.ne.jp/syonbori_tech/20090414/1239717538 のサイトを参考にして作りました。 この結果、 1回目の呼び出し 2回目の呼び出し ・・・ 26187回目の呼び出し 26188回目の呼び出し セグメンテーション違反です と表示され、セグメンテーション違反を再現させました。 ※何回目でセグメンテーション違反が発生するかは、 その都度異なります。 プログラム中で、try-catchの例外処理を入れたのですが、 例外処理されないようです。セグメンテーション違反に対して 例外処理をすることはできないのでしょうか。 できるとすれば、どのように記述をすればよいでしょうか。
- ベストアンサー
- PHP
- エクセルデータのカウント
A1:E5にデータが入力してあります。(空白セルもあり) C列、D列、E列のどれか1つのセルにでもデータ(数値) が入っている行の数をカウントして、A6に表示する 方法を教えてください。 たとえばF列に、=COUNT(C1:E1)を計算する行を入れて、 A8で=COUNTIF(F1:F5,">=1")をすれば、できるのだと思うのですが、 そのために行を増やしたくないのです。
- ベストアンサー
- オフィス系ソフト
- VBAのsingle,doubleのデータ型のE+,E-
VBAのデータ型longやsingleの E+やE-は何を表しているのでしょうか? 単精度浮動小数点型 3.4028235E+38~などです。 また、single doubleはそれぞれ-3.4028~、-1.797~ などと書いてありますが、1万台で小数点以下の数値がある値、たとえば17,562.256はどのデータ型を使えばよいのでしょうか?
- 締切済み
- オフィス系ソフト
- エクセルで数値の桁数を一定の法則で統一したい
E列にA~D列のデータから計算された数値が並んでいます。 たとえば E1:9.9 E2:86.08695652 E3:212.8571429 E4:1158.13953488372 これらを E1:9.90 (整数1桁の場合は四捨五入して小数2桁まで) 1未満の数値も小数2桁で(例、0.96) E2:86.1 (整数2桁の場合は四捨五入して小数1桁まで) E3:213 (整数3桁の場合は四捨五入して小数カット) E4:1158 (整数4桁の場合は四捨五入して小数カット) 上記の法則で見やすく整理したいのです。 整数4桁が最大です。大量のデータをまとめて整理出来る方法は ないでしょうか?よろしくお願いします。
- ベストアンサー
- その他(データベース)
- カウントアップ
以前質問させて頂いた続きなのですがまた詰まってしまったので 知恵をお借りしたいと思います。 File Count.java public class Count { public int read(){ return 1; } public void write(int count){ (1) } } File Test.java //カウント処理 Count count = new Count(); int scount = count.read(); contribute.setAttribute("no", ""+scount); scount = scount+1; count.write(scount); Test.javaファイルにおいて変数scountを使用する際に 1~10と読み込むたびに数字を一つづつ足していくという処理を行いたいのです。 (1)の部分にソースを書くことまでは指定されており、ここまでは間違えていないと言われているのですが(1)の部分をどんな風に作成すれば良いかがわかりません。 どのように書けば良いのでしょうか?? よろしくお願いします。
- 締切済み
- Java
- FORTRAN77
助けてください~ --------------------------------------- 華氏゜Fが与えられた時、摂氏℃と絶対温度Zを求めよ C=(5/9)(F-32),Z=C+273.16 ここで華氏゜Fは書式カードF1.5でカードに用意されていて、数値999.9のデータを読み込んだら終わりとする。 ただし、華氏゜Fの値は、-50.0゜Fから200.0゜Fまで10.0゜Fごとに変化させる。 --------------------------------------- で、私が頑張って(っていっても教科書を見ながら)書いたのが以下です。 --------------------------------------- * write(6,200) 200 format(1h ,8x,1hf,10x,1hc, 9x,1hz) 10 read(5,100)f 100 format(f5.1) if(f.eq.999.9)stop c=(f-32.0)*5.0/9.0 z=c+273.16 write(6,201)f,c,z 201 format(1h ,3(5x,f5.1)) go to 10 end ------------------------------------- 100 formatの下からdo文を使うのが狙いかと思いますがよくわかりません。 ちなみに参考教科書は入力データが ------------------------------------- 32.5 135.5 68.3 999.9 ------------------------------------- となっていました。多分これは使わないです。 よろしくお願いします(><)
- 締切済み
- その他(プログラミング・開発)
- java:読み込んだデータの確認
javaを使って通信のプログラムをつくっています。 送信側でバイトデータを作成して送信します。そして受信側でそのバイトデータを読み込みます。 送信側で作ったバイト数が本当に受信側に届いたかのチェックをするには、 どうすればよいでしょうか?下のコードは、自作した受信処理です。 調べると、read(byte[] b,int off,int len)の返り値が読み込んだバイト数ということなので、 これを使うのではないかと思うのですが、どう使えばよいか分かりません。下のコードは、とりあえず、受信したらcount++として受信処理分だけ countを増やして受信したバイトを数えています。 readの返り値で受信したバイト数を取得するには、どうすればよいでしょうか? 御教授お願いします。 送信側 BufferedOutputStream out = new BufferedOutputStream(sock.getOutputStream()); for (int i = 0; i < Data; i++) { for (;;) { try { out.write(i); out.flush(); count++; break; } catch (IOException e) { System.err.println((count + 1) + "つ目のバイト:書き込みエラー>>再書き込み"); } } } 受信側 BufferedInputStream in = new BufferedInputStream(sock.getInputStream()); int ch = 0; // 読み込んだ文字 int Count = 0; // 届いたバイト数のカウンター while (ch != -1) { try { ch = in.read(); Count++; } catch (IOException e) { System.err.println(Count + "つ目のバイトデータ:読み込みエラー"); } }
- ベストアンサー
- Java
- Javaでの数値の表示について
Javaで FORTRANのFORMAT文 WRITE(*,100) X 100 FORMAT(F10.4) やCの printf("%10.4f",x); のように桁数を指定して数値を表示する方法を 教えて下さい。
- 締切済み
- Java
お礼
アドバイスありがとうございます。 しかし、データが450000個もあるので 分けるという作業はとてもできないのです。 まとめて読み込みたいと思っています。