Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

обработка матрицы, c++

37K
02 декабря 2008 года
darkie
23 / / 30.10.2008
подскажите, пожалуйста вот что:
задаётся квадратная матрица А размера 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
Код:
#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;   }
}
535
03 декабря 2008 года
Нездешний
537 / / 17.01.2008
"Даю наводку", -- любил говорить мой бывший препод и многозначительно улыбался ;)
Для элементов главной диагонали Aij i = j
Для элементов выше главной диагонали i < j
Для элементов ниже главной диагонали i > j

PS Матрицу можно задать и одномерным массивом.
 
Код:
double *Matrix = new double [N * N];

И обращаться к ее элементам так:
 
Код:
Matrix[N * i + j]   //для элемента Aij, нумерация начинается с нуля
Но это дело вкуса :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог