caramel14
@caramel14
Всякое разное этакое чажу

Симметрия массива относительно главной диагонали. Что не так?

Массив arr[i][j] с вещественными числами.
a и b - размеры.
//проверяем симметрию//
                                       
cout << "\n";                                                 
//переменная-показатель симметрии//                           
sim= true;                                                    
//прогоняем массив//                                          
for (int i = 0; i < a; i++)                                   
{                                                             
    for (int j = 0; j < b;j++)                                
    {                                                         
        //если зеркальные значения не равны sim становится ложным //
        if (i=j) break;
        if (arr[i][j] != arr[j][i])                           
            {                                                 
            sim = false;                                      
            break;                                            
            }                                                 
    if (sim=false) break;                                     
    }                                                         
}      
//выводим ответ//                                                       
if (sim=true)                                                 
    cout<<"Массив симметричен"<<endl;                         
if (sim=false)                                                
    cout<<"Массив несимметричен"<<endl;


Где я ошибся?
  • Вопрос задан
  • 1012 просмотров
Решения вопроса 1
Что не так:
1. Выражение if(a=b) необходимо заменить на if(a==b)
2. Вещественные числа a и b равны, если fabs(a - b) < EPSILON. Следовательно, выражение if(a!=b) надо заменить на if(!(fabs(a - b) < EPSILON))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы