#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
void main()
{ int n,k=1,i,j; //переменная k для вычисления факториала
cout <<"Введите порядок матрицы:";
cin >>n; //Элементы матрицы будут храниться в динамическом массиве размера nxn, где n вводится пользователем.
double **a= new double *[n];
for(i=0;i<n;i++)
a = new double [n];
for (i=0;i<n;i++) // ввод массива
{
for (j=0;j<n;j++)
{
k=k*(j+1);
a[j]=1/pow((k*1.0),i+1);
}
k=1;
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
cout <<fixed<<setprecision(9)<<a[j]<<" ";
cout << endl; }
}
обработка матрицы, c++
задаётся квадратная матрица А размера N*N:
элементы главной диагонали равны 1.
элементы выше гл. диагонали по формуле: A i,j = x^i / (j!)i
а ниже главной диагонали соответственно: A i,j = (-x)^i / (j!)i,
где i,j =1,2,…,N
как прописать это заполнение? заранее спасибо.
делала матрицу, но там все эл-ты заполнялись по формуле: A i,j = 1 / (j!)^i
Код:
Для элементов главной диагонали Aij i = j
Для элементов выше главной диагонали i < j
Для элементов ниже главной диагонали i > j
PS Матрицу можно задать и одномерным массивом.
Код:
double *Matrix = new double [N * N];
И обращаться к ее элементам так:
Код:
Matrix[N * i + j] //для элемента Aij, нумерация начинается с нуля