function A=strogatz(p, N, K)

A=zeros(N,N);

for i=0:N-1
    for j=0:N-1
        for k=1:K/2
            if mod(abs(i-j),N) == mod(k,N) % belsõ
                A(i+1,j+1)=1;
            end
            
            if mod(abs(i-j),N)+mod(k,N)==N % széleknél
                A(i+1,j+1)=1;
            end
        end
    end
end

for i=0:N-1
    for j=0:N-1
        if i<j  
            R1=rand;
            if R1<p % ekkor cserélünk
            ind=setdiff(0:N-1,[i j]); % "Jó" indexek halmaza
            rand_ind=round((N-3)*rand); 
            k=ind(rand_ind+1); % az új csúcs melybe él fut i-bõl, a régi j helyett
            
            c=A(i+1,k+1); % A(i,j) és A(i,k) megcserélése
            
            A(i+1,k+1)=A(i+1,j+1);
            A(k+1,i+1)=A(j+1,i+1);
            
            A(i+1,j+1)=c;
            A(j+1,i+1)=c;
            
            end
        end
    end
end
