class Auto
attr_reader :position
attr_writer :position
def initialize( position,v0)
@position =position
@v0 =v0
end
def update_position
@position =@position+ @v0
end
end
class Simulation
def initialize( s,t,vm,ai,ad)
@s =s
@t =t
@vm =vm
@ai =ai
@ad =ad
end
def simulate( autos)
autos.sort_by { | x| x.position }
#autos.each {|a| p a}
for i in 1 ..@t
autos.each { | a| a.update_position + @ai}
autos.each { | a,b| p a.position - b.position } #здесь ошибка undefined method `position' for nil:NilClass
=begin
case dist
when dist<=10
autos[i-1].position-$ad
when dist=0
autos.delete(i-1)
end
=end
end
end
end
auto_data=[ [ 0 ,2 ] ,[ 5 ,10 ] ,[ 7 ,20 ] ]
autos=[ ]
auto_data.each do | a|
autos.push ( Auto.new ( a[ 0 ] ,a[ 1 ] ) )
end
s=Simulation.new ( 100 ,10 ,30 ,5 ,- 2 )
s.simulate ( autos) #запускаем симуляцию
# your code goes here
Y2xhc3MgQXV0bwoJYXR0cl9yZWFkZXIgOnBvc2l0aW9uCglhdHRyX3dyaXRlciA6cG9zaXRpb24KCWRlZiBpbml0aWFsaXplKHBvc2l0aW9uLHYwKQoJCUBwb3NpdGlvbj1wb3NpdGlvbgoJCUB2MD12MAoJZW5kCglkZWYgdXBkYXRlX3Bvc2l0aW9uCgkJQHBvc2l0aW9uPUBwb3NpdGlvbitAdjAKCWVuZAplbmQKCmNsYXNzIFNpbXVsYXRpb24KCWRlZiBpbml0aWFsaXplKHMsdCx2bSxhaSxhZCkKCQlAcz1zCgkJQHQ9dAoJCUB2bT12bQoJCUBhaT1haQoJCUBhZD1hZAoJZW5kCgoJZGVmIHNpbXVsYXRlKGF1dG9zKQoJYXV0b3Muc29ydF9ieSB7IHx4fCB4LnBvc2l0aW9ufSAKCSNhdXRvcy5lYWNoIHt8YXwgcCBhfQkKCQlmb3IgaSBpbiAxLi5AdAoJCQlhdXRvcy5lYWNoe3xhfCBhLnVwZGF0ZV9wb3NpdGlvbitAYWl9CgkJCWF1dG9zLmVhY2gge3xhLGJ8IHAJYS5wb3NpdGlvbi1iLnBvc2l0aW9ufSPQt9C00LXRgdGMINC+0YjQuNCx0LrQsCB1bmRlZmluZWQgbWV0aG9kIGBwb3NpdGlvbicgZm9yIG5pbDpOaWxDbGFzcwoKPWJlZ2luCgkJCWNhc2UgZGlzdAoJCQl3aGVuIGRpc3Q8PTEwCgkJCQlhdXRvc1tpLTFdLnBvc2l0aW9uLSRhZAoJCQl3aGVuIGRpc3Q9MAoJCQkJCQlhdXRvcy5kZWxldGUoaS0xKQoJCQllbmQKPWVuZAoKCWVuZAoJZW5kCmVuZAoKYXV0b19kYXRhPVtbMCwyXSxbNSwxMF0sWzcsMjBdXQphdXRvcz1bXQphdXRvX2RhdGEuZWFjaCBkbyB8YXwKYXV0b3MucHVzaChBdXRvLm5ldyhhWzBdLGFbMV0pKQplbmQJCnM9U2ltdWxhdGlvbi5uZXcoMTAwLDEwLDMwLDUsLTIpCgpzLnNpbXVsYXRlKGF1dG9zKSPQt9Cw0L/Rg9GB0LrQsNC10Lwg0YHQuNC80YPQu9GP0YbQuNGOCiMgeW91ciBjb2RlIGdvZXMgaGVyZQ==