Найти площадь пятиугольника - C (СИ)

  1. Задача на Си: Даны действительные числа a,b,c,d. Найти площадь пятиугольника,изображенного на рисунке.(Определить процедуру вычисления площади треугольника по трем его сторонам) Написал так:C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #include <conio.h> #include <stdio.h> #include <math.h> #include <stdlib.h>   bool rez;   //Проверка на существование треугольника int check(float z, float x, float w){     if ( (z>0)&&(x>0)&&(w>0) ){         if ((z+x)>w&&(z+w)>x&&(x+w)>z) rez = true;         else rez = false;     } else rez = false;       return rez; }   //Вычисление площади треугольника float pt(float z, float x, float w){     float p = (z + x + w)/2;     float pl3 = sqrt((p*(p-z)*(p-x)*(p-w)));     return pl3; }   void main(){ float pl5, a, b, c, d;   scanf("%f%f%f%f", &a,&b,&c,&d);   if ( check(1, 2, a)==1&&check(2, 2.5, b)==1&&check(2.5, c, d)==1 ){     pl5 = pt(1, 2, a) + pt(2, 2.5, b)+ pt(2.5, c, d);     printf("%f", pl5); } else printf("%d", rez);   _getch(); }Можно ли как то упростить код?


textual

Код:

if ( check(1, 2, a) && check(2, 2.5, b) && check(2.5, c, d))


Похожие ответы
  1. Есть код на С++ по данной задаче: по ребру найти площадь грани, площадь боковой поверхности и объем куба. Как записать его же но в Си? Спасибо заранее тем, кто помог. C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include "stdafx.h" #include #include #include   using namespace std;   int _tmain(int argc, _TCHAR* argv[]) {     while (true)     {         double a;         setlocale(LC_ALL, "Russian");         cout<<"Введите длину ребра куба a = ";         cin>>a;         double facet_area = pow(a, 2);         cout<<"\nПлощадь грани = "<

  1. Привет всем ,писал программу для задачиВычислить площадь треугольника по трём сторонам, пользуясь формулой Герона где р — полупериметр треугольника: .) но не получилось прошу вашей помощи)). P.s вот моя прога :C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include #include  #include main() { float A,B,C; float p,S; setlocale(LC_CTYPE,”rus”);   printf(“\nВычисление площади треугольника по трём сторонам\n”); printf(“Введение точки А\n”); printf(“A->”); scanf(“%f”&A); printf(“Введение точки B\n”); printf(“B->”); scanf(“%f”&B); printf(“Введение точки C\n”); printf(“C->”); scanf(“%f”&C); p=(a+b+c)/2; S=sqrt(p(p-a)*(p-b)*(p-c)) print(“Площадь треугольника по трём сторонам,%f”, S);

  1. Begin21 ◦.Даныкоординатытрехвершинтреугольникаx1,y1),(x2,y2),(x3,y3). Найти его периметр и площадь, используя формулу для расстояния между двумя точками на плоскости (см. задание Begin20). Для нахождения площади треугольника со сторонами a, b, c использовать формулу Герона: S = √p·(p−a)·(p−b)·(p−c),где p = (a + b + c)/2 — полупериметрC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include #include #include int main() { int x1,x2,x3,y1,y2,y3; float a,b,c,p,S; printf("x1="); scanf("%d",&x1); printf("x2="); scanf("%d",&x2); printf("x3="); scanf("%d",&x3); printf("y1="); scanf("%d",&y1); printf("y2="); scanf("%d",&y2); printf("y3="); scanf("%d",&y3); a=(sqrt(pow((x2-x1),2))+(pow((y2-y1),2))); b=(sqrt(pow((x3-x2),2))+(pow((y3-y2),2))); c=(sqrt(pow((x1-x3),2))+(pow((y1-y3),2))); p=((a+b+c)/2); S=(sqrt(p*(p-a)*(p-b)*(p-c))); printf("S=%f",S);     return 0; }S=-1.IND00 ОТВЕТ ТАКОЙ КАК ИСПРАВИТЬ или ошибка есть в коде

  1. Найти длину окружности и площадь круга заданного радиуса R. В качестве значения Pi использовать 3.14

  1. Должно вывести название цилиндра с максимальной площей, вместо этого ничего.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 //---------------------------------------------------------------------------   #pragma hdrstop   //--------------------------------------------------------------------------- #include #include #pragma argsused int main(int argc, char* argv[]) { struct { char number[20]; int s; }cylanders[100],a;   int n,i,max; printf ("Input n:"); scanf ("%d\n", &n); for (i = 0; i < n; i++) { scanf ("%s",cylanders[i].number); scanf ("%d", &cylanders[i].s); printf ("nomer cylindra:%s\n", cylanders[i].number); printf ("plosha:%d\n", cylanders[i].s);   } max = cylanders[0].s; for (i = 0;i < n; i++)  {  if (cylanders[i].s > max)  a = cylanders[i];  } printf("max plosha:%s", a.number);  getch();  return 0; } //---------------------------------------------------------------------------

  1. 3. Описать функцию CircleS(R) вещественного типа, находящую площадь круга радиуса R (R — вещественное). С помощью этой функции найти площади трех кругов с данными радиусами. Площадь круга радиуса R вычисляется по формуле S = π•R2. В качестве значения π использовать 3.14.

  1. найти площадь триугольника со стронами a,b,c за формулою Герона S= p(p-a)(p-b)(p-c),где p=(a+b+c)/2

  1. C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include #include #include "stdafx.h"   //Считаем площадь и периметр void func(float *a, float *b, float *c, float *d, float *S, float *P) {     float S;     S = a*b*sin(d) / 2     float P;     P = a + b + c }   int main() {     float a = 0.0, b = 0.0, c = 0.0, d = 0.0, S = 0.0, P = 0.0;     //Вводим стороны и угол     printf("Vvedite storoni a,b,c\n i ugol d");     scanf_s("%f%f%f%f", &a, &b, &c, &d);       func(&a, &b, &c, &d);       //Выводим площадь и периметр     printf("%f %f", S, P);     return 0; }Не могу понять в чем ошибка, подскажите, пожалуйста. Задание такое: Написать программу, вычисляющую площадь и периметр треугольника по двум сторонам и углу между ними. Расчет должен производиться в функции, которая получает данные по указателю и возвращает результат по указателю.

  1. Задание 5: Структуры Дана информация о пяти квартирах. Запись имеет вид: фамилия владельца, площадь, число комнат, этаж. Вывести данные о квартирах с самой большой площадью и самой маленькой.Добавлено через 44 минутыC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include #include #include #define n 5 main() { int i, j; struct kvar {char fam[n];float q; int kom; int e;} t; struct kvar w[n]; printf("\n Vvedite Information o Kvartirah"); for(i=0;i