Question: convert this to C or C++ code please %#codegen m = 50; n = 50; goal = [25 25]; obstacles=[14 24; 14 25; 14 26;

convert this to C or C++ code please

%#codegen

m = 50;

n = 50;

goal = [25 25];

obstacles=[14 24; 14 25; 14 26; 15 24; 15 25; 15 26; 16 24; 16 25; 16 26

34 24; 34 25; 34 26; 35 24; 35 25; 35 26; 36 24; 36 25; 36 26];

hi = 100;

lo = 0;

eps = 0.01;

room1 = .5*(hi+lo)*ones([m,n]);

room1(:,1:2) = hi;

room1(:,n-1:n) = hi;

room1(1:2,:) = hi;

room1(m-1:m,:) = hi;

room2 = room1;

[b,c] = size(goal);

for i = 1:1:b

room1(goal(i,1),goal(i,2)) = lo;

end

[d,e] = size(obstacles);

if d ~= 0

for i = 1:1:d

room1(obstacles(i,1),obstacles(i,2)) = hi;

end

end

count = 0;

while 1

for i = 2:1:m-1

for j = 2:1:n-1

room2(i,j) = room1(i-1,j)+room1(i+1,j)+room1(i,j-1)+room1(i,j+1);

end

end

room2=room2/4;

room2(:,1:2) = hi;

room2(:,n-1:n) = hi;

room2(1:2,:) = hi;

room2(m-1:m,:) = hi;

for i = 1:1:b

room2(goal(i,1),goal(i,2)) = lo;

end

if d ~= 0

for i = 1:1:d

room2(obstacles(i,1),obstacles(i,2)) = hi;

end

end

if abs(room2-room1) <= eps

break;

end

room1 = room2;

count = count+1;

end

count

surf(room1);

start = [5 5];

current = start;

path = [start];

while current ~= target

x = current(1);

y = current(2);

v1 = room1(x+1,y);

v2 = room1(x-1,y);

v3 = room1(x,y+1);

v4 = room1(x,y-1);

path = [path;current];

end

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!