Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.12.2007, 00:17
Vitek220 Vitek220 вне форума
Заблокирован
 
Регистрация: 03.12.2007
Сообщения: 22
Репутация: 5
Вопрос Использование функции

На плоскости своими координатами n точек. Создать массив размером n(n-1) , элементами которого явл.расстояние от каждой из точек до n-1 других
Ответить с цитированием
  #2  
Старый 13.12.2007, 11:33
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Не совсем понял задание, но расстояние между точками определяется по формуле Sqrt(Sqr(X1 - X2) + Sqr(Y1 - Y2))
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #3  
Старый 14.12.2007, 07:59
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

Код:
program PointDistance;

{$APPTYPE CONSOLE}

uses
  Windows, SysUtils, Math;

type
  TPoint = record
    X, Y: Integer;
  end;

const
  NUM_POINTS = 4;  // Количество точек

  Points: Array [0..NUM_POINTS - 1] of TPoint = (
    (X:00; Y:02),
    (X:04; Y:02),
    (X:02; Y:01),
    (X:00; Y:00)
  );

//------------------------------------------------------------------------------
// Вывод на экран строки
//------------------------------------------------------------------------------
procedure WriteStr(S: String);
var
  Dst: Array [0..255] Of Char;
begin
  AnsiToOem(PChar(S), Dst);
  Writeln(Dst);
end;

//------------------------------------------------------------------------------
// Форматирование целого значения для вывода на экран
//------------------------------------------------------------------------------
function FmtInt(X:Integer): String;
begin
  Result := Format('%3d', [X]);
end;

//------------------------------------------------------------------------------
// Форматирование вещественного значения для вывода на экран
//------------------------------------------------------------------------------
function FmtDbl(X:Double): String;
begin
  Result := Format('%5.2f', [X]);
end;

//------------------------------------------------------------------------------
// Вычисление расстояния между двумя точками в позициях I и J
//------------------------------------------------------------------------------
function CalcDistance(I, J: Integer): Double;
begin
  Result := Sqrt(Sqr(Points[i].X - Points[J].X) + Sqr(Points[i].Y - Points[J].Y));
end;

var
  Distance  : Array [0..NUM_POINTS - 1, 0..NUM_POINTS - 2] Of Double;
  i1, i2, J : Integer;
begin
  for i1 := 0 to NUM_POINTS - 1 do begin
    J := 0;
    Write(FmtInt(i1) + ') ');

    for i2 := 0 to NUM_POINTS - 1 do
      if i2 <> i1 then begin
        Distance[i1, J] := CalcDistance(i1, i2);
        Write(FmtInt(i2) + ':' + FmtDbl(Distance[i1, J]));

        Inc(J);
      end;
    Writeln;
  end;

  Writeln;
  WriteStr('Нажмите Enter.');
  Readln;
end.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:56.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter