Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
2 / 2 / 0
Регистрация: 16.11.2010
Сообщений: 24
1

Найдите ошибку в задаче: Определить процедуру вычисления площади треугольника по координатам его вершин

27.03.2011, 15:55. Показов 1479. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны натуральное число n, действительные числа x1, y1, x2, y2,…, xn,yn. Найти площадь
n-угольника,вершины которого при некотором последовательном обходе имеют координаты (x1, y1), (x2, y2),…, (xn, yn). (Определить процедуру вычисления площади треугольника по координатам его вершин.)
C
1
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
# include <stdio.h>
# include<conio.h>
# include<math.h>
# define n 5
 
float c(int x1,int y1,int x2,int y2)
{ float d;
d=sqrt(pow((x2-x1),2)+pow((y2-y1),2));
return(d);
}
 
float geron(float x, float y, float z,float *s)
{float p;
p=1;
p=(x+y+z)/2;
*s=sqrt(p*(p-x)*(p-y)*(p-z));
return;
}
 
main()
{int x[n],y[n],i; float s,G[n],A[n],B[n];
clrscr();
for (i=0;i<=n;i++)
scanf("%d %d",&x[i],&y[i]);
for (i=0;i<n;i++)
A[i]=c(x[i],y[i],x[i+1],y[i+1]);
for (i=0;i<n;i+=2)
B[i]=c(x[0],y[0],x[i+2],y[i+2]);
for (i=0;i<n;i+=2)
{geron(A[i],A[i+1],B[i],&G[i]);}
for(i=0,s=0;i<n;i+=2);
s+=G[i];
printf("%d",s);
getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2011, 15:55
Ответы с готовыми решениями:

Определить процедуру вычисления площади треугольника по координатам его вершин
Даны натуральное число n, действительные числа x1, y1, x2, y2,…, xn,yn. Найти площадь...

Определить процедуру вычисления площади треугольника по координатам его вершин
Даны натуральное число n, действительные числа x1, y1, x2, y2,..., xn, yn. Найти площадь n...

Опишите процедуру Triangle вычисления площади треугольника по координатам его вершин
Опишите процедуру Triangle вычисления площади треугольника по координатам его вершин.

Опишите процедуру Triangle вычисления площади треугольника по координатам его вершин
Опишите процедуру согласно представленным условиям. В файле-ответе должно присутствовать только...

11
Заблокирован
27.03.2011, 16:31 2
Для треугольника АВС, заданного точками на координатной плоскости, лучше использовать другую формулу вычисления площади:

S = 0.5 *( (Xb-Xa)*(Yc-Ya) - (Xc-Xa) * (Yb-Ya))
0
2 / 2 / 0
Регистрация: 16.11.2010
Сообщений: 24
27.03.2011, 16:33  [ТС] 3
Спасибо, но мне нужно найти именно по Герону площади треугольников
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
27.03.2011, 16:38 4
а надо то чо?
0
2 / 2 / 0
Регистрация: 16.11.2010
Сообщений: 24
27.03.2011, 16:41  [ТС] 5
необходимо найти площадь n-угольника
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
27.03.2011, 16:44 6
Hamelion))), а Герон тогда зачем?
0
2 / 2 / 0
Регистрация: 16.11.2010
Сообщений: 24
27.03.2011, 16:47  [ТС] 7
что б разбить n-угольник на треугольники и вычислить их площади
0
Заблокирован
27.03.2011, 23:25 8
Герон все-таки неуклюж для такого:
разбить n-угольник на треугольники
Сравните:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#define N 8
using namespace std;
 
double square(double Xa,double Ya,double Xb,double Yb,double Xc,double Yc)
{   return 0.5 *((Xb-Xa)*(Yc-Ya) - (Xc-Xa) * (Yb-Ya)) ;
}
 
int main()
{   double X[N] = {3.,4.,5.,5.,4.,3.,2.,2.};
    double Y[N] = {0.,0.,1.,2.,3.,3.,2.,1.};
    double S = 0.0;
    for(int i=1;i<N-1;i++)
        S+= square(X[0],Y[0],X[i],Y[i],X[i+1],Y[i+1]);
        
    cout<<"S = "<<S<<"\n";
 
    cin.get();
    return 0;
}
1
2 / 2 / 0
Регистрация: 16.11.2010
Сообщений: 24
28.03.2011, 13:40  [ТС] 9
А не могли бы вы не много пояснить Си++, что б я смогла на Си переделать?
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
28.03.2011, 16:48 10
Hamelion))), чо ж там переделывать, потоки ввода-вывода на функции поменять, да и всё
0
2 / 2 / 0
Регистрация: 16.11.2010
Сообщений: 24
28.03.2011, 18:26  [ТС] 11
В результате выдаёт 0.В чём ошибка?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# include <stdio.h>
# include<conio.h>
# include<math.h>
# define n 5
float  Z (int Xa,int Ya,int Xb,int Yb, int Xc, int Yc)
{ float s=1;
s=0.5*((Xb-Xa)*(Yc-Ya)-(Xc-Xa)*(Yb-Ya));
return (s);
}
main()
{
int x[n],y[n],i; float S=0,C=0;
clrscr();
for (i=0;i<n;i++)
scanf ("%d %d",&x[i],&y[i]);
for (i=1;i<n-1;i++)
{S=Z(x[0],y[0],x[i],y[i],x[i+1],y[i+1]);
C+=S;}
printf("%d",S);
getch();
}
0
Заблокирован
28.03.2011, 21:03 12
C
1
float S=0.,C=0.;
.....................................
C
1
scanf ("%f %f",&x[i],&y[i]);
....................................
C
1
printf("%f",С);
1
28.03.2011, 21:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2011, 21:03
Помогаю со студенческими работами здесь

Определить функцию вычисления площади треугольника по координатам его вершин
Дано натуральное число n, действительные числа x1, y1 ..... xn, yn. Найти площадь n угольника,...

Процедура вычисления площади треугольника по координатам его вершин.
Создайте процедуру вычисления площади треугольника по координатам его вершин.

Составить подпрограмму вычисления площади треугольника по координатам его вершин
Составить подпрограмму вычисления площади треугольника по координатам его вершин. В основной...

Составить функцию для вычисления площади треугольника по координатам его вершин
11. Составить функцию для вычисления площади треугольника по координатам его вершин. Использовать...

Определить функцию для расчета площади треугольника по координатам его вершин
Даны действительные числа x1,y1,x2,y2,…,x10. Найти площадь пятиугольника, вершины которого имеют...

Определить процедуру вычисления площади треугольника по его сторонам
Даны действительные числа a, b, c, d, e - стороны пятиугольника. Найти площадь пятиугольника. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru