ciao a tutti, sono nuova in questo forum.... volevo sapere se qualcuno di voi riusciva a trovarmi un codice alternativo per questa procedura (non servono modifiche particolarmente elevate) in modo tale da fare la stessa cosa cambiando solo qualche cosina perchè mi sembra piuttosto complicata...
grazie in anticipo!
procedure vicinato(Xc:array(R,C) of integer,Xv:array(R,C)of integer)
flag:=0
flagbis:=false
while(getsol(flag)=0)do !scelta casuale di una soluzione dal vicinato di Xc
a:=integer(round(0.5+random*9))
b:=integer(round(0.5+random*9))
forall(k in VAL|Xc(a,b)=k)do
Xv(a,b):=0
flag:=1
end-do
end-do
flag:=0
if (flagbis=true)then
while(getsol(flag)=0)do
c:=integer(round(0.5+random*9))
d:=integer(round(0.5+random*9))
if(Xc(c,d)=0)then
Xv(c,d):=sol(c,d)
flag:=1
end-if
end-do
end-if
end-procedure