

vs2019でvbコードを作成していましたが、自己解決出来なかったため投稿しました。

一番左列を計算ステップ数として出力し、同じ行に1点が3数値を持つ6カ所の計算結果を出力するものです。  
6カ所のデーターのため、「NODE=6」としています。

「out.txt」に出力させると、下記のとおり1行目に1カ所分の3数値が記載された後に改行され、  
6カ所分の数値が記載されてしまいます。

これを②のように、ステップ毎に1行に6カ所×3数値＝18を出力させる方法を知りたいです。  
どのようにすれば1行毎に更新されて正しく数値を格納できるでしょうか。  
コードを示しますのでアドバイス頂けますと有難く存じます。

①出力ファイル「out.txt」

[code]

     1,  0,  0,  0
     1,  1.63401841165215E-06, -4.23975684907087E-06, -2.44840995811576E-05
     1,  0,  0,  0
     1,  1.62765335623538E-06, -6.76145984583269E-06,  6.89722445866509E-07
     1,  0,  0,  0
     1,  1.6277681511652E-06, -2.60468852869766E-06,  7.00096162112573E-07
    
     2,  0,  0,  0
     2,  3.2680368232265E-06, -8.47951369814418E-06, -4.89681991621149E-05
     2,  0,  0,  0
     2,  3.25530671239303E-06, -1.35229196916688E-05,  1.3794448917347E-06
     2,  0,  0,  0
     2,  3.25553630225271E-06, -5.2093770573886E-06,  1.40019232422684E-06
    
     3,  0,  0,  0
     3, ･･･
    
[/code]

②希望する出力ファイル形式

[code]

     1,  0,  0,  0,  1.63401841165215E-06, -4.23975684907087E-06, -2.44840995811576E-05,  0,  0,  0, ･･･
     2,  0,  0,  0,  3.2680368232265E-06, -8.47951369814418E-06, -4.89681991621149E-05,  0,  0,  0, ･･･
     3,  0,  0,  0, ･･･
    
[/code]

③コード

[code]

        Dim LineW77 As New IO.StreamWriter("./out.txt", False, System.Text.Encoding.GetEncoding("shift_jis"))
        Dim aa77$
    
        'ステップ
    
        For Istp = 1 To Nstep
    
            '出力
    
            For J = 1 To NODE
    
                aa77$ = Str$(Istp) + ", " + Str$(D(3 * J - 2, Istp)) + ", " + Str$(D(3 * J - 1, Istp)) + ", " + Str$(D(3 * J, Istp))
    
                LineW77.WriteLine(aa77$)
    
            Next J
    
            LineW77.WriteLine()
    
        Next Istp
    
        LineW77.Close()
    
[/code]


CC BY-SA 4.0
2023-11-09T03:18:27.060
96724
2023-11-10T10:03:57.450
2023-11-09T03:34:14.863
3060
50731
question
vb.net
Visual Basic の出力ファイル処理について


悪戦苦闘していましたが、次のようにして解決出来ました。

[code]

       For Istp = 1 To Nstep
            aa77$ = Str$(Istp) 
            '出力
            For J = 1 To NODE
                aa77$ = aa77$ + ", " + Str$(D(3 * J - 2, Istp)) + ", " + Str$(D(3 * J - 1, Istp)) + ", " + Str$(D(3 * J, Istp))
            Next J
            LineW77.WriteLine(aa77$)
        Next Istp
    
[/code]

出力ファイル「out.txt」

[code]

     1,  0,  0,  0,  1.63401841165215E-06, -4.23975684907087E-06, -2.44840995811576E-05,  0,  0,  0,･･･
     2,  0,  0,  0,  3.2680368232265E-06, -8.47951369814418E-06, -4.89681991621149E-05,  0,  0,  0,･･･
     3,  0,  0,  0,  ･･･
    
[/code]


CC BY-SA 4.0
2023-11-09T19:22:21.003
96728
2023-11-10T10:03:57.450
2023-11-10T10:03:57.450
32986
50731
96724
answer