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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2011, 01:06   #1
--Sashok--
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 76
Восклицание Функция.Периметр треугольника, Досчитать!

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

begin
  var ab,bc,ca,x,y,z:real;
 function(integer i,j):real;
begin
 
  for i:=1 to 3 do
  readln(x[i],y[i],z[i])

 function := sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j])+sqr(z[i]-z[j]));
 end;

 begin

 p := ab + bc + ca
 writeln('периметр равен',p)
 end;
end.
Надо посчитать периметр, тем более
координаты заданы! - А(x1,y1,z1),B(x2,y2,x2),C(x3,y3,z3) .

надо воспользоваться формулой
P=AB+BC+AC, де AB=√(x1-x2)в квадрате + (y1-y2)в квадрате + (z1-z2)в квадрате.


Что то не правильно прописал и выкидывает ошибку, плиз помогите заранее благодарен!
--Sashok-- вне форума Ответить с цитированием
Старый 01.11.2011, 01:28   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Возможно, я ошибаюсь, но по-моему объявление переменной x не похоже на объявление массива.
Abstraction вне форума Ответить с цитированием
Старый 01.11.2011, 05:14   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Abstraction
объявление переменной x не похоже на объявление массива.
Abstraction, +1

так же, как и Y и Z...

а ешё потрясает описание и тело функции БЕЗ ИМЕНИ

ставит в тупик описание переменных после основного begin

да и там, где X[i],Y[i],Z[i] используются, уже нет цикла по i

короче, это не код, а одно сплошное недоразумение!

попробуйте такой код:
Код:
{$APPTYPE CONSOLE}
uses
  SysUtils;

type T3DPoint = record
  X: Longint;
  Y: Longint;
  Z: Longint;
end;


function Rasstoyanie(p1, p2 : T3DPoint) : real;
begin
 Result := sqrt(sqr(p1.X-p2.X)+sqr(p1.Y-p2.Y)+sqr(p1.Z-p2.z));
end;

procedure ReadPointCoordinate(PromptText : string; var p1 : T3DPoint);
begin
  Write(PromptText);
  Readln(p1.X, p1.Y, p1.Z);
end;

var ab,bc,ca, p : real;
   A, B, C : T3DPoint;

begin

  WriteLn;
  ReadPointCoordinate('Enter point A coordinate (x y z):', A);
  ReadPointCoordinate('Enter point B coordinate (x y z):', B);
  ReadPointCoordinate('Enter point C coordinate (x y z):', C);

  ab := Rasstoyanie(A, B);
  bc := Rasstoyanie(B, C);
  ca := Rasstoyanie(C, A);

  p := ab + bc + ca;
  writeln('Perimeter is ',p:12:4);
  Readln
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Линейные алгоритмы. Вычислить периметр и площадь треугольника. sqr Паскаль, Turbo Pascal, PascalABC.NET 2 29.10.2011 15:24
описать процедуру вычисляющую периметр и площадь равностороннего треугольника по данной стороне А. Aimet Паскаль, Turbo Pascal, PascalABC.NET 1 18.06.2011 20:04
вычислить периметр треугольника если даны координаты 3-х вершин(алгоритм функции) (Паскаль) анжелка Помощь студентам 2 03.04.2011 13:33
определить площадь,периметр,биссектрисы и т.п. треугольника Иоанн IV Грозный Помощь студентам 2 16.01.2011 20:12
функция Perim(Ax,Ay,Bx,By,Cx,Cy) вещественного типа, находящая периметр треугольника ABC lucky Паскаль, Turbo Pascal, PascalABC.NET 8 23.12.2008 20:19