Описание функции пользователя - C (СИ)
Формулировка задачи:
Доброй ночи/дня.
Дан вот такой код
Суть проблемы.Нужно дописать в нем функции пользователя для вычисления площади треугольника(по формуле Герона) и высот,проведенных к каждой из сторон( по формуле h=2S/a).
Я делала "наброски",связанные с вычислением площади.
Вот они:
А как .связанное с этим,записать в главной функции - не знаю :С
Я действительно хочу это понять.Помогите мне написать это.Надеюсь на вашу помощь.
// task6.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <math.h> float dlina_otrezka (float, float, float, float); int _tmain(int argc, _TCHAR* argv[]) { float Ax, Ay, Bx,By, Cx, Cy, AB, AC, BC, P; printf ("Vvedite koordinatu X tochki A ");scanf_s ("%f", &Ax); printf ("Vvedite koordinatu Y tochki A ");scanf_s ("%f", &Ay); printf ("Vvedite koordinatu X tochki B ");scanf_s ("%f", &Bx); printf ("Vvedite koordinatu Y tochki B ");scanf_s ("%f", &By); printf ("Vvedite koordinatu X tochki C ");scanf_s ("%f", &Cx); printf ("Vvedite koordinatu Y tochki C ");scanf_s ("%f", &Cy); AB=dlina_otrezka(Ax, Ay, Bx, By); printf ("\n Dlina otrezka AB = %5.2f", AB); AC=dlina_otrezka(Ax, Ay, Cx, Cy); printf ("\n Dlina otrezka AC = %5.2f", AC); BC=dlina_otrezka(Cx, Cy, Bx, By); printf ("\n Dlina otrezka BC = %5.2f", BC); P = AB+AC+BC; printf (" \n Perimetr treugolnika %5.2f", P); printf("\n Press any key: "); _getch(); return 0; } float dlina_otrezka (float x1, float y1, float x2, float y2 ) {float result; result = (x2-x1)*(x2-x1)+(y2-y1)*(y2-y1); return sqrt(result); }
float square_triangle(float X1, float Y1, float X2, float Y2, float X3, float Y3) { float a = dlina_otrezka(X1, Y1, X2, Y2); float b = dlina_otrezka(X2, Y2, X3, Y3); float c = dlina_otrezka(X1, Y1, X3, Y3); float p = (a + b + c) / 2; return sqrt(p*(p - a)*(p - b)*(p - c)); }
Решение задачи: «Описание функции пользователя»
textual
Листинг программы
printf("Площадь равна = %f", square_triangle(Ax, Ay, Bx, By, Cx, Cy));
Объяснение кода листинга программы
- Ввод функции square_triangle(Ax, Ay, Bx, By, Cx, Cy) принимает шесть аргументов типа int.
- Функция вычисляет площадь треугольника по формуле Герона, используя введенные аргументы.
- Результат вычисления площади сохраняется в переменную типа float с названием
result
. - Код выводит значение переменной
result
с помощью функции printf(). - Значение переменной
result
заменяется на результат вычисления функции square_triangle(Ax, ay, Bx, By, Cx, Cy). - Выводится сообщение
Площадь равна = %f
с использованием функции printf(). - Значение переменной
result
передается в функцию printf() в качестве аргумента с помощью символа%
. - Аргументы функции printf() заключены в кавычки.
- Функция printf() выводит сообщение и значение переменной
result
на экран.