+) [i] [j]=mas [i] [ j];
//Виводимо указательras;
//підчищати за собою (int i=0; i lt; 4; i ++) [] ras [i]; [] ras;
}
//Функція виводу на екран матріциprint_mas (double ** mas)
{(int i=0; i lt; 4; i ++)
{_ s ( n ); (int j=0; j lt; 4; j ++) _ s (% 4.2f , mas [i] [j]);
}
}
//Функція транспонування матриці ** trans (double ** mas)
{
//Створюємо покажчик ** ras;=new double * [4]; (int i=0; i lt; 4; i ++) [i]=new double [4];
//Переписуємо з вхідного покажчика в новий, замінюючи рядка на стовпці (int i=0; i lt; 4; i ++) (int j=0; j lt; 4; j ++) [j] [i ]=mas [i] [j];
//Виводимо соданія указательras;
//підчищати за собою (int i=0; i lt; 4; i ++) [] ras [i]; [] ras;
}
//Функція розрахунку оберненої матриці ** obrat (double ** mas)
{
//Створюємо тимчасовий покажчик ** temp1=new double * [4]; (int i=0; i lt; 4; i ++) [i]=new double [4];
//Переписуємо вхідний покажчик на тимчасовий (int i=0; i lt; 4; i ++) (int j=0; j lt; 4; j ++) [i] [j]=mas [ i] [j];
//Створення зворотної матриці
{
//Створюємо тимчасову матріцуtemp;
//Створюємо покажчик для одиничної матриці ** E=new double * [4]; (int i=0; i lt; 4; i ++) [i]=new double [4];
//Заповнюємо одиничну матрицю (int i=0; i lt; 4; i ++) (int j=0; j lt; 4; j ++)
{[i] [j]=0.00; (i == j) [i] [j]=1.00;
}
//Заповнюємо тимчасову матрицю
//Всі елементи першого рядка ділимо на верхній елемент вибраного стовпця. (int k=0; k lt; 4; k ++)
{= temp1 [k] [k]; (int j=0; j lt; 4; j ++)
{[k] [j]=temp1 [k] [j]/temp; [k] [j]=E [k] [j]/temp;
}
//З решти рядків віднімаємо перший рядок, помножену на перший елемент відповідного рядка,
//з метою отримати першим елементом кожного рядка (крім першої) нуль. (int i=k + 1; i lt; 4; i ++)
{= temp1 [i] [k]; (int j=0; j lt; 4; j ++)
{[i] [j]=temp1 [i] [j] - temp1 [k] [j] * temp; [i] [j]=E [i] [j] - E [k] [j] * temp;
}
}
}
//Віднімаємо з передостанньої рядки останній рядок, помножену на відповідний коефіцієнт,
//з тим, щоб в передостанньому рядку залишилася тільки 1 на головній діагоналі. (int k=4 - 1; k gt; 0; k -)
{(int i=k - 1; i gt;=0; i -)
{= temp1 [i] [k]; (int j=0; j lt; 4; j ++)
{[i] [j]=temp1 [i] [j] - temp1 [k] [j] * temp; [i] [j]=E [i] [j] - E [k] [j] * temp;
}
}
}
//Переписуємо значення з обработанности одиничної матриці в розрахункову матрицю (int i=0; i lt; 4; i ++) (int j=0; j lt; 4; j ++) [i] [j ]=E [i] [j];
//підчищати за собою (int i=0; i lt; 4; i ++) [] E [i]; [] E;
//Повертаємо покажчик з результатомtemp1;
//підчищати за собою (int i=0; i lt; 4; i ++) [] temp1 [i]; [] temp1;
}
}
//Функція добутку двох матриць ** proizv (double ** mas, double ** mast)
{
//Створюємо покажчик, в який будемо записувати результат обчислень ** ras;=new double * [4]; (int i=0; i lt; 4; i ++) [i]=new double [ 4];
//Обчислюємо значення по елементно (int i=0; i lt; 4; i ++) (int j=0; j lt; 4; j ++) [i] [j]=0; (int i =0; i lt; 4; i ++) (int j=0; j lt; 4; j ++)
{(int k=0; k lt; 4; k ++)
{s=mas [k] [j] * mast [i] [k];
//Результат множення записуємо в результуючий покажчик [i] [j]=ras [i] [j] + s;
}
}
//Виводимо результуючий указательras;
//підчищати за собою (int i=0; i lt; 4; i ++) [] ras [i]; [] ras;
}
//функція порівняння матриці з одиничною матріцойsravnenie (double ** mas)
{s=1;// Лічильник істини (int i=0; i lt; 4; i ++) (int j=0; j lt; 4; j ++)
{