Заданы координаты сторон треугольника, найти его площадь - C (СИ)
Формулировка задачи:
Здравствуйте, нужна ваша помощь. Нужно решить вот такую задачу.
Даны действительные числа a, b, c. Получить:
max(a, a+b) + max (a, b+c)/1+max(a+bc,1,15)
Пример вот такой.
Примеры программы с использованием функций:
/*Заданы координаты сторон треугольника, найти его площадь. */
Помогите написать код.
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
float line(float x1,float y1,float x2,float y2) // длина отрезка
{
return sqrt(pow(x1-x2,2)+pow(y1-y2,2));
}
float square(float a, float b, float c) // площадь треугольника
{
float s, p=(a+b+c)/2;
return s=sqrt(p*(p-a)*(p-b)*(p-c)); // формула Герона
}
void main()
{
float x1=2, y1=3, x2=4, y2=6, x3=7, y3=9; // координаты
float line1, line2, line3;// переменные-стороны
line1 = line(x1,y1,x2,y2); // вычисление длин сторон треугольника
line2 = line(x1,y1,x3,y3);
line3 = line(x2,y2,x3,y3);
printf("S= %f",square(line1,line2,line3));
getch();
}
#include <iostream.h>
#include <string.h>
//сравнение двух целых чисел
int max(int a, int b)
{
if (a>b) return a;
else return b;
}
//сравнение двух вещественных чисел
float max(float a, float b)
{
if(a>b)return a;
else return b;
}
//сравнение двух строк
char* max(char* a, char* b)
{
if (strcmp(a,b)>0) return a;
else return b;
}Решение задачи: «Заданы координаты сторон треугольника, найти его площадь»
textual
Листинг программы
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
float max(float x1,float x2)
{
if(x1>x2)return x1;
return x2;
}
void main()
{
float a=2., b=3., c=4., res,t;
t=max(a+b*c,1); // max a+b*c и 1
t=max(t,15); // max предыдущего и 15
res=max(a, a+b) + max (a, b+c)/(1.+t);
printf("res= %f",res);
getch();
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с вводом/выводом, математическими функциями и функцией max.
- Определение функции max, которая возвращает максимальное значение из двух.
- Создание точки входа в программу - функции main.
- Объявление переменных a, b, c, res, t которые будут использоваться в программе. Значения переменных a, b и c равны 2, 3 и 4 соответственно.
- Вычисление значения переменной t, которое будет использоваться в дальнейшем. Оно будет максимальным из значений a+b*c и 1.
- Вычисление значения переменной t, которое будет использоваться в дальнейшем. Оно будет максимальным из значений предыдущего значения t и 15.
- Вычисление значения переменной res, которое будет использоваться в дальнейшем. Оно будет максимальным из значений a и a+b, а также из значений a и b+c/(1+t).
- Вывод значения переменной res на экран.
- Ожидание нажатия клавиши для завершения работы программы.