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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2014, 09:05   #11
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
Согласен. Но только с той поправкой, что с "художественными текстами" и их переводом на другой язык ты совсем не сталкивался. Ибо робоперевод художественного текста просто никуда не годится, как ни старайся его понимать.
Та же фигня с простой письменной речью.
Человек_Борща вне форума Ответить с цитированием
Старый 12.11.2014, 10:47   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вот тебе два способа определения количества пересекающихся отрезков, если нужно выдать координаты этих отрезков добивай сам
Код:
function Crossing(x1,y1,x2,y2,x3,y3,x4,y4: Single): Boolean;
begin
  Result:=(((x4-x3)*(y1-y3)-(y4-y3)*(x1-x3))*((x4-x3)*(y2-y3)-(y4-y3)*(x2-x3))<0) and
          (((x2-x1)*(y3-y1)-(y2-y1)*(x3-x1))*((x2-x1)*(y4-y1)-(y2-y1)*(x4-x1))<0);
end;

procedure TForm1.Button1Click(Sender: TObject);
type TMyPoint2 = record X,Y: Single; end;
     TMyPoint4 = record X1,Y1,X2,Y2: Single; end;
var i,j,i1,j1,k,n,m: Integer;
    xPoints2: array of TMyPoint2;
    xPoints4: array of TMyPoint4;
begin
  k:=30;  {количество точек}
  SetLength(xPoints2,k);
  Randomize;
  {рандомные координаты точек на квадрате 300x300}
  for i:=0 to k-1 do begin
    xPoints2[i].X:=300*Random;
    xPoints2[i].Y:=300*Random;
  end;
  {оптимальный способ подсчета количества пересекающихся отрезков}
  n:=0;
  for i:=0 to k-2 do
    for j:=i+1 to k-1 do
      for i1:=i+1 to k-2 do
        if i1<>j then for j1:=i1+1 to k-1 do
          if (j1<>j) and
             Crossing(xPoints2[i].X,xPoints2[i].Y,xPoints2[j].X,xPoints2[j].Y,
                      xPoints2[i1].X,xPoints2[i1].Y,xPoints2[j1].X,xPoints2[j1].Y) then Inc(n);
  Label1.Caption:=IntToStr(n);
  {не оптимальный способ подсчета количества пересекающихся отрезков}
  {в т.ч. и для контроля 1-го способа}
  m:=k*(k-1) div 2;
  SetLength(xPoints4,m);
  n:=0;
  for i:=0 to k-2 do
    for j:=i+1 to k-1 do begin
      xPoints4[n].X1:=xPoints2[i].X;
      xPoints4[n].Y1:=xPoints2[i].Y;
      xPoints4[n].X2:=xPoints2[j].X;
      xPoints4[n].Y2:=xPoints2[j].Y;
      Inc(n);
    end;
  n:=0;
  for i:=0 to m-2 do
    for j:=i+1 to m-1 do
      if Crossing(xPoints4[i].X1,xPoints4[i].Y1,xPoints4[i].X2,xPoints4[i].Y2,
                  xPoints4[j].X1,xPoints4[j].Y1,xPoints4[j].X2,xPoints4[j].Y2) then Inc(n);
  Label2.Caption:=IntToStr(n);
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.11.2014, 11:17   #13
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Камментарии к коду написать - домашнее задание
Человек_Борща вне форума Ответить с цитированием
Старый 12.11.2014, 11:24   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Судя по отсутствию самостоятельных попыток комментарии к коду такая же неразрешимая задача. Так что по домашнему заданию двоечка будет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с курсовым проектом прошу помоши Svork Общие вопросы C/C++ 14 02.03.2012 20:21
Ассемблер и МК51! Завал с курсовым проектом!!!! Lord_Dragon Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 17.05.2010 00:18
Помогите с курсовым на С++ Solovei_MC Помощь студентам 2 14.06.2008 15:10
!Помогите с Курсовым! MyVLink Паскаль, Turbo Pascal, PascalABC.NET 14 04.06.2008 22:05