The reason it doesn't give you an answer is simple: it doesn't compile.
26 for(int i=1;i<n-1;i++){
27 j=0;j<n;j++){
28 if(a[i][j]!=ans[i-1]){
What is the middle of those three lines doing there?
If C++ doesn't compile without errors, an EXE file isn't produced, so whatever you are running isn't your latest code - so it's doesn't produce the answer you expected at all.
should expect to get syntax errors every day, probably many times a day while you are coding - we all do regardless of how much experience we have! Sometimes, we misspell a variable, or a keyword; sometimes we forget to close a string or a code block. Sometimes the cat walks over your keyboard and types something really weird. Sometimes we just forget how many parameters a method call needs.
We all make mistakes.
And because we all do it, we all have to fix syntax errors - and it's a lot quicker to learn how and fix them yourself than to wait for someone else to fix them for you! So invest a little time in learning how to read error messages, and how to interpret your code as written in the light of what the compiler is telling you is wrong - it really is trying to be helpful!
So read this:
How to Write Code to Solve a Problem, A Beginner's Guide Part 2: Syntax Errors[
^] - it should help you next time you get a compilation error!