Практикум по курсу "Алгоритмизация и программирование". Часть 2. Андрианова А.А - 15 стр.

UptoLike

. Практикум по курсу «Алгоритмизация и программирование». Часть 2
if(s1+s2+s3-s < eps)
printf("Точка принадлежит треугольнику");
else
printf("Точка не принадлежит треугольнику");
}
// опредение функции вычисления площади треугольника
// по формуле Герона
float AreaTriangle(float x1, float y1,
float x2, float y2,
float x3, float y3)
{
float a=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
float b=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
float c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
float p=(a+b+c)/2;
float s=sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
Задача 3. Дана квадратная матрица А. Вычислить A
p
(p >1 целое чис-
ло).
Для решения этой задачи создаем две функции: основную (Matrix-
Power) и вспомогательную (MatrixProduct). Вспомогательная функция
будет перемножать две квадратные матрицы. Ее параметрами будут две пере-
множаемые матрицы, матрица-результат и размерность.
Для возведения матрицы А в степень p в функции MatrixPower (p-1)
раз вызывается вспомогательная функция MatrixProduct.
# include <stdio.h>
// прототип функции вычисления произведения
// двух квадратных матриц
void MatrixProduct(int n, float**a, float**b, float**c);
// прототип функции возведения матрицы в степень
bool MatrixPower(int n, float**a, int p, float** c);
void main(void)
{
int n,p,i,j;
while(true)
{
printf("Введите порядок матрицы:");
15
               .       Практикум по курсу «Алгоритмизация и программирование». Часть 2
             if(s1+s2+s3-s < eps)
                  printf("Точка принадлежит треугольнику");
             else
                  printf("Точка не принадлежит треугольнику");
       }

       // опредение функции вычисления площади треугольника
       // по формуле Герона
       float AreaTriangle(float x1, float y1,
       float x2, float y2,
       float x3, float y3)
       {
             float a=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
             float b=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
             float c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
             float p=(a+b+c)/2;
             float s=sqrt(p*(p-a)*(p-b)*(p-c));
             return s;
       }

       Задача 3. Дана квадратная матрица А. Вычислить Ap (p >1 – целое чис-
ло).
    Для решения этой задачи создаем две функции: основную (Matrix-
Power) и вспомогательную (MatrixProduct). Вспомогательная функция
будет перемножать две квадратные матрицы. Ее параметрами будут две пере-
множаемые матрицы, матрица-результат и размерность.
    Для возведения матрицы А в степень p в функции MatrixPower (p-1)
раз вызывается вспомогательная функция MatrixProduct.

       # include 

       // прототип функции вычисления произведения
       // двух квадратных матриц
       void MatrixProduct(int n, float**a, float**b, float**c);

       // прототип функции возведения матрицы в степень
       bool MatrixPower(int n, float**a, int p, float** c);

       void main(void)
       {
             int n,p,i,j;
             while(true)
             {
                  printf("Введите порядок матрицы:");

                                         15