Задача: (вообще-то их две:) )
а) Имеется динамичная квадратная матрица. Ввести элементы, распечатать. Определить, является ли массив симметричным относительно побочной диагонали.
б) Написать 3 алгоритма сортировки одномерного массива:
- метод прямого выбора (по убыванию)
- метод прямого обмена (по убыванию)
- пузырьковая сортировка (по возрастанию)
Хоть какую-нибудь задачку!!!! Плиииииииииииииииз!!!!
Другие языки программирования и технологии
СРОЧНО!!! C++ !
#include < iostream >
#include < iomanip >
#include < string >
class Matrix
{
double *v;
int n;
public:
Matrix(int N):
n (N),
v (new double[ N*N ])
{
memset(v,0,n*n*sizeof(double));
}
~Matrix(){delete [ ] v;}
double* operator[](int idx){return v+n*idx;}
int size() const {return n;}
void dump(std::ostream & ostr)
{
for(int i = 0; i < n*n; ++i)
{
std::cout << v [ i ] << " ";
if(i%n) std::cout << std::endl;
}
}
bool isSymOfMinorDiag()
{
bool res = true;
for(int i = 0; i < n; ++i)
for(int j = 0; j < n-i; ++j)
if(operator [ ] (i) [ j ] != operator [ ] (n-j-1) [ n-i-1 ])
return false;
return true;
}
};
int main()
{
std::cout << "Enter the size of matrix: " << std::flush;
int n; std::cin >> n;
Matrix m(n);
for(int i = 0; i < n; ++i)
for(int j = 0; j < n; ++j)
{
std::cout
<< "Enter m [ " << i
<< " ] [ " << j << " ] : "
<< std::flush;
std::cin >> m[ i ] [ j ];
}
m.dump(std::cout);
std::cout << (m.isSymOfMinorDiag()? "symmetric":"nonsymmetric")
<< " of minor diagonal" << std::endl;
return 0;
}
#include < iomanip >
#include < string >
class Matrix
{
double *v;
int n;
public:
Matrix(int N):
n (N),
v (new double[ N*N ])
{
memset(v,0,n*n*sizeof(double));
}
~Matrix(){delete [ ] v;}
double* operator[](int idx){return v+n*idx;}
int size() const {return n;}
void dump(std::ostream & ostr)
{
for(int i = 0; i < n*n; ++i)
{
std::cout << v [ i ] << " ";
if(i%n) std::cout << std::endl;
}
}
bool isSymOfMinorDiag()
{
bool res = true;
for(int i = 0; i < n; ++i)
for(int j = 0; j < n-i; ++j)
if(operator [ ] (i) [ j ] != operator [ ] (n-j-1) [ n-i-1 ])
return false;
return true;
}
};
int main()
{
std::cout << "Enter the size of matrix: " << std::flush;
int n; std::cin >> n;
Matrix m(n);
for(int i = 0; i < n; ++i)
for(int j = 0; j < n; ++j)
{
std::cout
<< "Enter m [ " << i
<< " ] [ " << j << " ] : "
<< std::flush;
std::cin >> m[ i ] [ j ];
}
m.dump(std::cout);
std::cout << (m.isSymOfMinorDiag()? "symmetric":"nonsymmetric")
<< " of minor diagonal" << std::endl;
return 0;
}
В чем сложности конкретно? Точнее задание
Похожие вопросы
- Помогите срочно C#
- Вопрос для знатоков C++. Срочно! Срочно! Научите меня программировать на C++ за один вечер! Я заплачу любые деньги!
- Привет, у меня вопрос. Какую программу или игру можно сделать в c# widows forms? Кто какие делал. Мне срочно нужно!
- срочно помогите написать программу на ассемблере вычисляющую R. R=x2+y2, где x=a+b-c, y=b*c-a. a,b,c вводятся с клавы
- Учусь програмировать на C++ по книге "C++ для чайников".Проблема.
- Зачем нужен C++, если есть C?
- Помогите исправить ошибку в программе (c++).
- Ещё тупой вопрос по C++ :)
- Почему многие отдают предпочтение C++ а не C# ?
- Учу C++! Уже знаю: типы данных, циклы. условия, привидения и т. д учу 5дней. вот программа! Как норм за 5 дней?