Text: |
ФІО = Горбаченко В.А.
Запитання:/*
Для заданої дійсної матриці А розмірності n визначити, чи э вона кососиметричною
(15 балів)
*/
#include <iostream>
#include <cstdlib>
using namespace std;
//===========================================================================
int EnterN(){ // просимо користувача ввести Н яке задовольнить умову циклу ВАЙЛ
int n; // і повертаємо його
do{
cout<<" -> Enter N [N>=2]:";
cin>>n;
} while (n<2);
cout<<endl;
return n;
}
//===========================================================================
void PrintMatrix(double *A,int n){ // фнк виводить матрицю на екран
// нічого не повертає. приймає вказівник на перший елемент та розмірність квадратної
// матриці
for (int i = 0 ; i < n ; i++){
for (int j = 0 ; j < n ; j++){
cout<<*(A+i*n+j)<<"\t ";
}
cout<<endl;
}
cout<<endl;
return ;
}
//===========================================================================
void EnterMatrix(double *A,int n){// зчитує кв. матрицю. Аналогічно до передньої функ
for (int i = 0 ; i < n ; i++){
for (int j = 0 ; j < n ; j++){
cout<<"Enter Matrix ["<<j+1<<"]x["<<i+1<<"] = ";
cin>>*(A+i*n+j);
}
}
return ;
}
//===========================================================================
void PrintTrueFalse(bool a){// виводить на екран в залежності від а ТРУ чи ФОЛС
if (a) cout<<" TRUE "; else cout<<" FALSE ";
}
//===========================================================================
bool bool_CosoMatrix(double *A,int n){// функція приймає аналогічні параметри до
// попередніх функцій
// повертає ТРУ, якщо матриця кососиметрична, інакше - ФОЛС
for (int i = 0 ; i < n ; i++){
for (int j = 0 ; j < n ; j++){
if ((*(A+i*n+j))!=-(*(A+j*n+i))) {
return false;
}
}
}
return true;
}
//===========================================================================
int main(){
int n=EnterN();
double *a=new double [n*n];// ств динамічний масив
EnterMatrix(a,n); // заповнюємо матрицю
PrintMatrix(a,n); // виводимо матрицю
cout<<" COSOMATRIX = ";
PrintTrueFalse(bool_CosoMatrix(a,n));// виводимо, чи матрися кососимтрична, чи ні
cout<<endl;
delete []a; // звільнюємо виділену пам'ять
system("PAUSE");
return 0;
}
====================================
|