Симметричная / антисимметричная матрица
Эй , ребята, я хочу написать функцию (одну функцию), которая говорит , является ли матрица nxn симметричной или антисимметричной, у меня были проблемы с "возвращением". это было бы легко, если бы она была в 2 разных функциях, но в данном случае это всего лишь одна . не могли бы вы мне помочь ? спасибо. ( Си )
Что я уже пробовал:
int vrf_sym_anti(const int **M,const int n); int vrf_sym_anti(const int **M,const int n) { int i,j,c=0,sym=0,antisym=0; for(i=0; i<n; i++) for(j=0; j<n; j++) { if(M[i][j]!=(M[j][i] || -M[j][i])) c++; else if(M[i][j]==M[j][i]) sym++; else if((M[i][j]==-M[j][i]) && M[i][i]==0) antisym++; } if(c!=0) return 0; ///Ni sym ni antsym if(sym==(pow(n,2)-n)/2) return 1; ///sym if(antisym==(pow(n,2)+2)/2) return -1; ///antiym }
OriginalGriff
Какая проблема?
И сделай себе одолжение: разберись со своим отступом!
Outh_Mane
Это не работает , это всегда показывает, что это не сим или антисим
OriginalGriff
И что же?
Что вы сделали, чтобы выяснить, почему?
Outh_Mane
я набираю в матрицах то , что знаю их типы, я использую эту функцию в полном коде . но ничего страшного, я нашел решение этой проблемы . я изменил условия в "если бы", и это дало мне правильный ответ