質問編集履歴

6

コードの修正

2021/11/10 05:22

投稿

epsilon
epsilon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -174,6 +174,22 @@
174
174
 
175
175
  end do
176
176
 
177
+
178
+
179
+ !roop: do while(ip < len(buff))
180
+
181
+ ! ip= ip + 1
182
+
183
+ ! if( buff(ip:ip)==" " ) then
184
+
185
+ ! nod= nod + 1
186
+
187
+ ! if( buff(ip+1:ip+1)==" " ) exit roop
188
+
189
+ ! end if
190
+
191
+ !end do roop
192
+
177
193
 
178
194
 
179
195
  write(*,*)"variety of angle", nod

5

コードの修正

2021/11/10 05:22

投稿

epsilon
epsilon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -144,7 +144,7 @@
144
144
 
145
145
  read(*,*) buff
146
146
 
147
- write(*,*)len(buff)
147
+ write(*,*)"length of the input data", len(buff)
148
148
 
149
149
 
150
150
 
@@ -174,9 +174,7 @@
174
174
 
175
175
  end do
176
176
 
177
-
178
-
179
-
177
+
180
178
 
181
179
  write(*,*)"variety of angle", nod
182
180
 
@@ -196,6 +194,8 @@
196
194
 
197
195
 
198
196
 
197
+ write(*,*) "degree data"
198
+
199
199
  do i=1, nod
200
200
 
201
201
  write(*,*) degree(i)

4

コードの修正

2021/11/10 05:14

投稿

epsilon
epsilon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -120,7 +120,7 @@
120
120
 
121
121
  ```
122
122
 
123
- ### 該当のソースコード(抜粋)
123
+ ### 該当のソースコード2
124
124
 
125
125
 
126
126
 
@@ -174,21 +174,7 @@
174
174
 
175
175
  end do
176
176
 
177
- !roop: do while(ip < len(buff))
177
+
178
-
179
- ! ip= ip + 1
180
-
181
- ! if( buff(ip:ip)==" " ) then
182
-
183
- ! nod= nod + 1
184
-
185
- ! if( buff(ip+1:ip+1)==" " ) exit roop
186
-
187
- ! end if
188
-
189
- !end do roop
190
-
191
-
192
178
 
193
179
 
194
180
 

3

コードの追加

2021/11/10 05:06

投稿

epsilon
epsilon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -119,3 +119,109 @@
119
119
  write(*,*) m
120
120
 
121
121
  ```
122
+
123
+ ### 該当のソースコード(抜粋)
124
+
125
+
126
+
127
+ ```fortran
128
+
129
+ program test
130
+
131
+ implicit none
132
+
133
+ real, allocatable :: pix(:, :)
134
+
135
+ integer :: nor, noc, nod, ip , i, j
136
+
137
+ character(len = 10), allocatable :: degree(:)
138
+
139
+ character(len = 99) :: buff
140
+
141
+
142
+
143
+ write(*,*) "input the angle you process"
144
+
145
+ read(*,*) buff
146
+
147
+ write(*,*)len(buff)
148
+
149
+
150
+
151
+ open(10, file= "angle_list.txt")
152
+
153
+ write(10,*) buff
154
+
155
+
156
+
157
+ nod=0
158
+
159
+ ip=0
160
+
161
+ do while (ip < len(buff))
162
+
163
+ ip = ip + 1
164
+
165
+ if (buff(ip:ip) == ' ') cycle
166
+
167
+ nod = nod + 1
168
+
169
+ do while (buff(ip:ip) /= ' ')
170
+
171
+ ip = ip + 1
172
+
173
+ end do
174
+
175
+ end do
176
+
177
+ !roop: do while(ip < len(buff))
178
+
179
+ ! ip= ip + 1
180
+
181
+ ! if( buff(ip:ip)==" " ) then
182
+
183
+ ! nod= nod + 1
184
+
185
+ ! if( buff(ip+1:ip+1)==" " ) exit roop
186
+
187
+ ! end if
188
+
189
+ !end do roop
190
+
191
+
192
+
193
+
194
+
195
+ write(*,*)"variety of angle", nod
196
+
197
+
198
+
199
+ allocate(degree(nod))
200
+
201
+
202
+
203
+ close(10)
204
+
205
+
206
+
207
+ open(10, file= "angle_list.txt")
208
+
209
+ read(10,*) (degree(i),i=1, nod)
210
+
211
+
212
+
213
+ do i=1, nod
214
+
215
+ write(*,*) degree(i)
216
+
217
+ end do
218
+
219
+
220
+
221
+ deallocate(degree)
222
+
223
+
224
+
225
+ end program
226
+
227
+ ```

2

改行

2021/11/10 05:03

投稿

epsilon
epsilon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,9 @@
4
4
 
5
5
 
6
6
 
7
- fortran で,表の形のデータを読みこんで配列に格納し,処理するプログラムを作っており,読み取りの際に,行の数は固定で列の数が未知のデータに対応できるようにしたいと思っています。
7
+ fortran で,表の形のデータを読みこんで配列に格納し,処理するプログラムを作っており,
8
+
9
+ 読み取りの際に,行の数は固定で列の数が未知のデータに対応できるようにしたいと思っています。
8
10
 
9
11
 
10
12
 

1

文章の構成

2021/10/29 13:04

投稿

epsilon
epsilon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -40,21 +40,17 @@
40
40
 
41
41
 
42
42
 
43
+ ただそのやり方では,結果を確認しても,並びが全く原型をとどめておらず,うまく読みこめていない様です。
43
44
 
44
45
 
45
46
 
46
47
 
47
- ただそのやり方では,結果を確認しても,並びが全く原型をとどめておらず,うまく読みこめていない様です。
48
48
 
49
- 何か良い方法はないでしょうか
49
+ allocateを使う事も考えましたが,readする前行列の大きさを把握できなければならず,その方法が思つきませんでし
50
50
 
51
51
 
52
52
 
53
- allocateを使う事も考えましたが,readする前に行列の大きさを把握できなければならず,
54
-
55
- その方法が思つきませんでし
53
+ 他に何か良い方法はないでしょうか
56
-
57
-
58
54
 
59
55
  よろしくお願いします。
60
56