def random_array(size)
(1..size).map{|i| rand(-9.0..9.0).round(5)}
end
def to_array(file_name)
File.read(file_name).scan(/-?\d+[.,]\d+/).map{|i| i[0].to_f}
end
class Array
def fstnum_half
self.select{|i| i > 0}[0].fdiv(2)
end
def mod_array1(size)
self.first(size).map{|i| (i + fstnum_half).round(5)}
end
def mod_array2(min, max)
self[min..max].map{|i| (i + fstnum_half).round(5)}
end
end
array1,array2 = to_array("array.txt"), random_array(20)
modarr1, modarr2 = array1.mod_array1(6),array2.mod_array2(5, 12)
File.write("modarray1.cr", modarr1)
File.write("modarray2.cr", modarr2)
puts "#{array1}\n\n#{array2}\n\n#{modarr1}\n\n#{modarr2}"
-4.77746
1.53473
4.43842
3.53481
0.65443
-6.87248
1.07455
3.3931
3.41818
5.9654
5.42224
6.22043
-4.97054
3.41116
8.92835
8.22188
-5.99165
2.80234
4.60612
7.01439
-3.78385
-3.37245
-6.30581
-4.46444
3.9648
6.41935
2.36787
-2.18105
8.13412
5.86267
6.74368
-6.65456
7.64322
-7.34678
9.06027
9.21782
6.51796
0.09692
3.94204
2.21782
-4.99233
-3.39195
-7.92419
-0.96521
8.90438
9.19301
0.50528
-6.93084
2.71188
6.97076
2.95017
8.74942
9.1179
4.02675
0.29951
2.41876
3.48332
1.4536
0.00691
1.75424
8.63664
-2.30258
3.97791
4.11025
2.89499
4.75364
-2.35326
9.05575
-5.20957
5.06192
8.999
8.88815
2.58229
-8.0672
5.33681
4.23421
8.91192
7.55446
-5.41498
7.16552
1.16548
6.13015
7.33157
-5.64625
1.15555
4.32647
4.06553
5.19337
6.26943
-4.76728
8.77083
9.22499
8.08346
-3.16025
9.58799
-6.2698
4.88186
8.91096
-3.53391
2.63087