Forward difference: Difference between revisions
Content added Content deleted
(→{{header|Kotlin}}: Updated example see https://github.com/dkandalov/rosettacode-kotlin for details) |
No edit summary |
||
Line 2,248: | Line 2,248: | ||
10 |
10 |
||
n is too large: 11 > 10 |
n is too large: 11 > 10 |
||
</pre> |
|||
=={{header|Ring}}== |
|||
<lang ring> |
|||
# Project : Forward difference |
|||
# Date : 2018/01/19 |
|||
# Author : Gal Zsolt [~ CalmoSoft ~] |
|||
# Email : <calmosoft@gmail.com> |
|||
s = [90, 47, 58, 29, 22, 32, 55, 5, 55, 73] |
|||
for p = 1 to 9 |
|||
s = fwddiff(s,p) |
|||
showarray(s) |
|||
next |
|||
func fwddiff(s, order) |
|||
for j=1 to len(s)-1 |
|||
s[j] = s[j+1]-s[j] |
|||
next |
|||
n = len(s) |
|||
del(s, n) |
|||
return s |
|||
func showarray(vect) |
|||
see "{" |
|||
svect = "" |
|||
for n = 1 to len(vect) |
|||
svect = svect + vect[n] + ", " |
|||
next |
|||
svect = left(svect, len(svect) - 2) |
|||
see svect |
|||
see "}" + nl |
|||
</lang> |
|||
Output: |
|||
<pre> |
|||
{-43, 11, -29, -7, 10, 23, -50, 50, 18} |
|||
{54, -40, 22, 17, 13, -73, 100, -32} |
|||
{-94, 62, -5, -4, -86, 173, -132} |
|||
{156, -67, 1, -82, 259, -305} |
|||
{-223, 68, -83, 341, -564} |
|||
{291, -151, 424, -905} |
|||
{-442, 575, -1329} |
|||
{1017, -1904} |
|||
{-2921} |
|||
</pre> |
</pre> |
||