Помощь - Поиск - Пользователи - Календарь
Полная версия: Однамерные массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
DASHA
В однамерном массиве с четным количеством элементов (2N) находяться координаты N точек плоскости. Они располагаються в следующем порядке: x1, y1, x2, y2, x3, y3 и т.д.
Определить номера точек, которые могут являться вершинами равнобедренного треуголника.

вроде кусок программы есть, но незнаю точно правильно или нет

формула sqrt(sqr(x1-x2)+sqr(y1-y2)))

Код

const
   N = ....;
............
var
   A: array[1..2*N] of real;
   res: array[1..6] of real; {три точки образующие}
............
procedure Rasst (a, b: integer; var rrr: integer);
............
i := 1;
while i < 2*N-4 do begin
   j := i + 2;
   while j < 2*N-2 do begin
      k := j + 2;
      while k < 2*N do begin
         Rasst (A[i], A[j], rasst1);
         Rasst (A[j], A[k], rasst2);
         Rasst (A[i], A[k], rasst3);
         if ((abs((rasst1-rasst2)) < Eps) and (abs((rasst2-rasst3)) < Eps)) or
            ((abs((rasst1-rasst2)) < Eps) and (abs((rasst2-rasst3)) < Eps)) or
            ((abs((rasst1-rasst2)) < Eps) and (abs((rasst2-rasst3)) < Eps)) then begin
               res[1] := A[i];
               res[2] := A[i+1];
               res[3] := A[j];
               res[4] := A[j+1];
               res[5] := A[k];
               res[6] := A[k+1];
         end;
         inc (k,2);
      end;
      inc (j,2);
   end;
   inc (i,2);
end;
klem4
Былобы не плохо, если бы ты выложила всю программу + тестовые примеры входных и выходных данных
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.