Форум программистов, компьютерный форум CyberForum.ru

Одномерный массив, определить точки являющиеся вершинами равнобедренного треугольника - C++

Восстановить пароль Регистрация
 
LeXeR93
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 4
16.04.2011, 17:07     Одномерный массив, определить точки являющиеся вершинами равнобедренного треугольника #1
Народ, Помогите пожалуйста!!!
В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1, у1, х2, у2, x3, y3 и т.д.
Определить номера точек, которые могут являться вершинами равнобедренного треугольника.

можт кто хоть алгоритм подскажет, как я понимаю нужно проверить на равенство двух сторон, и если эти стороны равны вывести номера точек..

нашел на форуме такую прогу, но только под Паскаль может кто-нибудь хотя бы ее под С++ переделает?
Pascal
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
36
37
38
39
40
41
42
43
44
45
46
47
uses crt;
const t=0.00001;
function Dlina(x1,y1,x2,y2:real):real;
begin
Dlina:=sqrt(sqr(x1-x2)+sqr(y1-y2));
end;
function Ravn(x1,y1,x2,y2,x3,y3:real):boolean;
begin
if (abs(Dlina(x1,y1,x2,y2)-Dlina(x1,y1,x3,y3))<t)
or (abs(Dlina(x1,y1,x2,y2)-Dlina(x2,y2,x3,y3))<t)
or (abs(Dlina(x1,y1,x3,y3)-Dlina(x2,y2,x3,y3))<t)
then Ravn:=true else Ravn:=false;
end;
var a:array[1..200] of real;
    n,i,j,k,p:integer;
begin
clrscr;
randomize;
repeat
write('Введите количество точек, не менее 3 n=');
readln(n);
until n>=3;
n:=n*2;
writeln('Массив координат точек:');
for i:=1 to n do
a[i]:=5*random;
write('X=');
for i:=1 to n-1 do
if odd(i) then write(a[i]:4:1);
writeln;
write('Y=');
for i:=2 to n do
if i mod 2=0 then write(a[i]:4:1);
writeln;
writeln('Вершины равнобедренных треугольников:');
p:=0;
for i:=1 to n-5 do
for j:=i+2 to n-3 do
for k:=j+2 to n-1 do
if Ravn(a[i],a[i+1],a[j],a[j+1],a[k],a[k+1])then
 begin
  p:=1;
  writeln(i,',',i+1,'  ',j,',',j+1,'  ',k,',',k+1);
 end;
if p=0 then write('Таких нет!');
readln
end.
Добавлено через 3 часа 10 минут
фух... разобрался сам, если кому нужно - пишите, поделюсь кодом))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2011, 17:07     Одномерный массив, определить точки являющиеся вершинами равнобедренного треугольника
Посмотрите здесь:

C++ Определить 3 точки, являющиеся вершинами треугольника, для которых разность точек вне е го и внутри является минимальной.
C++ заданы координаты трех точек. Напишите программу, которая проверяет, являются ли эти точки вершинами треугольника.
C++ Являются ли точки вершинами треугольника
Являются ли точки вершинами прямоугольного треугольника C++
Даны координаты трех точек на плоскости. Если они могут быть вершинами равнобедренного остроугольного треугольника, вычислить его площадь. Где ошибка? C++
Если три точки могут быть вершинами разностороннего тупоугольного треугольника, вычислите его площадь C++
Если точки могут быть вершинами равностороннего треугольника, вычислить его площадь и длину высоты C++
C++ Определить, могут ли три точки с координатами являться вершинами треугольника

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 18:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru