How is a declared in the first place?
If you're starting with
unsigned int **a = malloc( nRows * sizeof(*a));
Where each row is
a[i] = malloc( nCols * sizeof(*a[i]));
To remove a row, it's simply
free(a[i]);
for (j = i+1; j < nRows ; j++) a[j-1] = a[j];
After that, you can use realloc to make a itself shorter, and decrement nRows.
> //vr is number or rows
So change the variable to be something actually readable, then you don't need meaningless comments.