build function to swap rows

swap_zero <- function(A,N,x){
##inputs    A- Matrix 
##          N- Row I want to swap with original row 
##          x-original row
orig_row <- A[x,]
A[x,] <- A[N,]
A[N,] <- orig_row
return(A)}

Attempt row swap

A <- matrix(c(0, 2, -1, 1, -1, -2, 3, 5, 4),ncol=3)
N=1
print(A)
##      [,1] [,2] [,3]
## [1,]    0    1    3
## [2,]    2   -1    5
## [3,]   -1   -2    4
for(x in 1:dim(A)[1]){
    ifelse(A[x,x]!=0,A,
       ifelse(A[x+1,x]!=0,swap_zero(A,N+1,x) ,
              ifelse(A[x+2,x]!=0,swap_zero(A,N+2,x),"error")))
       }
print(A)
##      [,1] [,2] [,3]
## [1,]    0    1    3
## [2,]    2   -1    5
## [3,]   -1   -2    4