回答編集履歴

1 コードをまちがえてたので編集

jm1156

jm1156 score 786

2017/01/17 17:30  投稿

「翻訳してほしい」ということですが、
何に翻訳すればいいのかわからないので、VBAに翻訳
かなりテキトー。
```VBA
Public Sub test()
Dim x(100) As Integer
Dim y(100) As Integer
Dim xn(100) As Integer
 LX = 1280
 NX = 100
 dx = LX / NX
 For i = 0 To NX
   x(i) = i * dx
 Next
 imin = 0
 jmin = 0
 imax = 100
 jmax = 100
 yspan = y(jmax) - y(jmin)
 ic = (imin + imax) / 2
 jc = (jmin + jmax) / 2
 For i = 0 To NX
   xn(i) = (x(i) - x(ic)) / yspan
 Next
End Sub
```
もちろんエラーがでますw
配列の添え字は適当、
まずNX=100の部分にセミコロンが無い。
y[]が初期化されていないので、
yspan=y[jmax]-y[jmin];の部分は全部ゼロってことにしたw
たぶんなんかのコードが抜けている。
(yのSPANだと思うけど)
そのためyspanで割ると0で除算のエラーになる。
ic は50
x[]には0から12.8づつ増えた数値が100個入る。
よってxnには 0から12.8づつ増えた値から50を引いたものをyspanで割った数が100個はいる。
よってxnには 0から12.8づつ増えた値から640を引いたものをyspanで割った数が100個はいる。
まぁ、yspanはゼロだからエラーになりますね。
なにかのループの中にいそうなきがする。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る