Ну у меня мат только один. Ты то хоть сам разбираешся, в том что так все скомкал. Для лучшего понимания используй форматирование текста. От того что он у тебя он будет форматирован, размеры конечного кода не зависят. Но зато приятно для глаз.
Если я правильно понял условия, то код такой
#include <iostream.h> 
void main()
{ 
   float a[10][10];
   float t;
   cin>>n;
   for (i=0; i<n; i++)
   {
       for (j=0; j<n; j++)
       {
           cin>>a[i][j];
       }
   }
   for (i=0; i<n; i++)
   {
       for (j=0; j<n; j++)
       { 
           if (i !=j)
           {
               t=a[i][j];
               a[i][j]=a[j][i];
               a[j][i]=t;
           }
       }
    }
    for (i=0; i<n; i++)
    {
       for (i=0; i<n; i++)
       {
            cout a[i][j];
       }
    }
}
Ты обменивал только в одну сторону. Выражение в С++ 
A=B Обозначает, что после этой строки 
А примет значение
 B. 
 B Так и будет нести гордо свое старое значение. Чтобы действительно обменять, сушествует несколько способов, самый простой и надежный через сторонию переменную.