Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2010, 12:19   #1
Fantom.as
Пользователь
 
Аватар для Fantom.as
 
Регистрация: 19.04.2010
Сообщений: 62
Сообщение Вычисление площади пятиугольника по координатам

Вычисление пятиугольника по его координатам...
Вычисляет не правильно, а в чем причина понять не могу...((
Образец пятиугольника прикреплен к сообщению...

#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
//Объявление функций
float fDlina (int, int, int, int);
float fGeron(float, float, float);
float fPlatz (float, float, float);

int main(void)
{
int x1,x2,x3,x4,x5,y1,y2,y3,y4,y5;
/*float a,b,c,d,e,f,g,s1,s2,s3;*/
printf("Programma dlya vychisleniya Ploschadi Pyatiugolnika\n");
printf("Vvedita koordinaty: \n");
//Ввод координат
printf("x1= "); scanf("%d",&x1); printf("\t y1= "); scanf("%d",&y1); printf("\n");
printf("x2= "); scanf("%d",&x2); printf("\t y2= "); scanf("%d",&y2); printf("\n");
printf("x3= "); scanf("%d",&x3); printf("\t y3= "); scanf("%d",&y3); printf("\n");
printf("x4= "); scanf("%d",&x4); printf("\t y4= "); scanf("%d",&y4); printf("\n");
printf("x5= "); scanf("%d",&x5); printf("\t y5= "); scanf("%d",&y5); printf("\n");
/*a=fDlina(x1,y1,x2,y2);
b=fDlina(x2,y2,x3,y3);
c=fDlina(x3,y3,x4,y4);
d=fDlina(x4,y4,x5,y5);
e=fDlina(x5,y5,x1,y1);
f=fDlina(x1,y1,x3,y3);
g=fDlina(x1,y1,x4,y4);*/
/*s1=fGeron(fDlina(x1,y1,x2,y2),fDli na(x2,y2,x3,y3),fDlina(x1,y1,x3,y3) );
s2=fGeron(fDlina(x1,y1,x3,y3),fDlin a(x3,y3,x4,y4),fDlina(x1,y1,x4,y4)) ;
s3=fGeron(fDlina(x1,y1,x4,y4),fDlin a(x4,y4,x5,y5),fDlina(x5,y5,x1,y1)) ;*/
printf("\nResultat: %4.2f \n",fPlatz(fGeron(fDlina(x1,y1,x2 ,y 2),fDlina(x2,y2,x3,y3),fDlina(x1,y1 ,x3,y3)),fGeron(fDlina(x1,y1,x3,y3) ,fDlina(x3,y3,x4,y4),fDlina(x1,y1,x 4,y4)),fGeron(fDlina(x1,y1,x4,y4),f Dlina(x4,y4,x5,y5),fDlina(x5,y5,x1, y1))));
getch();
return 0;
}

float fDlina (int x1, int y1, int x2, int y2) //вычисление длины стороны треугольника
{
float dlina, quadroX,quadroY;
quadroX=(x1-x2)^2; // Возведение x1-x2 в квадрат
quadroY=(y1-y2)^2; // Возведение у1-y2 в квадрат
//dlina= quadroX+quadroY;
printf("quadroX = %f, quadroY = %f\n", quadroX,quadroY);
dlina= sqrt(quadroX+quadroY);
printf("dlina= %4.2f\n",dlina);
return dlina;
}

float fGeron(float a, float b, float c) //Вычисление площади треугольника по формуле Герона
{
float pl,p;
p=(a+b+c)/2; //Вычисление полупериметра треугольника
printf(" p = %f\n",p);
pl=sqrt(p*(p-a)*(p-b)*(p-c)); //Вычисление площади треугольника
printf("ploschad treugolnika = %4.2f\n",pl);
return pl;
}
float fPlatz (float s1, float s2, float s3) //Вычисление площади пятиугольника
{
float s;
s= s1+s2+s3;
printf("ploschad pyatiugolnika = %4.2f \n",s);
return s;
}
<--<--<--Нажми на весы слева <---<---<---
Fantom.as вне форума Ответить с цитированием
Старый 13.10.2010, 01:11   #2
_ILYA_
Пользователь
 
Аватар для _ILYA_
 
Регистрация: 12.10.2010
Сообщений: 79
По умолчанию

слишком сложно написано. ты не пробовал упростить. тогда станет понятней и ощибка найдется быстрей
Имею хитрый план по личному обогащению
_ILYA_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование пятиугольника zverozavr Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 29 11.11.2012 03:40
Вычисление площади пятиугольника по координатам Fantom.as C++ Builder 3 10.10.2010 11:45
Нахождение площади пятиугольника в Visual C++ 2010 Fantom.as Помощь студентам 0 06.10.2010 20:34
Вычисление площади треугольника Nyuta555 Помощь студентам 10 07.10.2009 16:32
Паскаль Вычисление площади Unikummm Помощь студентам 16 04.02.2009 06:52