Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Free Pascal Составить программу, определяющую количество информации в битах для любой строки https://www.cyberforum.ru/ free-pascal/ thread744265.html
Составить программу, определяющую кол-во информации в битах для любой строки.
Free Pascal Вывести строку в обратном порядке
Вывести строку в обратном порядке
Free Pascal Составить программу, заменяющую в введенной строке все буквы а на А https://www.cyberforum.ru/ free-pascal/ thread744263.html
Составить программу, заменяющую в введенной строке все буквы а на А
Free Pascal Вывести последнюю букву в строке Вывести последнюю букву в строке https://www.cyberforum.ru/ free-pascal/ thread744262.html
Нелинейное уравнение (методом Ньютона) Free Pascal
Решить нелинейное уравнение методом Ньютона (Заранее спасибо тому, кто поможет!!)
Free Pascal Применяя метод быстрой сортировки, отсортировать массив https://www.cyberforum.ru/ free-pascal/ thread743871.html
Применяя метод быстрой сортировки, отсортировать массив,файл, список, элементами которых является одна и та жесовокупность строковых величин.Сравнить время работы программ длякаждого случая.Результаты отображать на экране.
Free Pascal Найти точку пересечения прямой и плоскости в пространстве Составить полную спецификацию к подпрограмме, которая должна решать указанную задачу. Описать необходимые типы данных. Предполагается, что подпрограмма будет написана в стиле защитного программирования. Найти точку пересечения прямой и плоскости в пространстве, заданных параметрически. https://www.cyberforum.ru/ free-pascal/ thread743638.html Дана последовательность символов, заданная в типизированном файле. Методом индуктивной функции определить количество вхождений в последовательность ци Free Pascal
Дана последовательность символов, заданная в типизированном файле. Методом индуктивной функции определить количество вхождений в последовательность цифры, которая встречается в последовательности максимальное число раз. Подпрограмма должна быть написана в стиле защитного программирования. Обязательно наличие полной спецификации в виде комментария под заголовком и комментариев к тексту...
Free Pascal Получить в порядке возрастания все различные числа,входящие в a(1)...a(n), применив алгоритм сортировки простыми вставками https://www.cyberforum.ru/ free-pascal/ thread743355.html
Даны целые числа a(1),a(2),...,a(n). Получить в порядкевозрастания все различные числа,входящие в a(1)...a(n), применивалгоритм сортировки простыми вставками. Результаты отображать наэкране
Free Pascal Найти сумму ряда с точностью Е=10, общий член которого 1/n Найти сумму ряда с точностью Е=10, общий член которого 1/n https://www.cyberforum.ru/ free-pascal/ thread743252.html
Free Pascal Найти в тексте слова, содержащие две одинаковые буквы подряд
Конец семестра, а две последние лабы не сданы!:( Сам бы решил, но я даже не знаю с чего начать. 2.В текстовом файле input.txt записан русский текст. Найти в тексте слова, содержащие две одинаковые буквы подряд, записать их заглавными буквами и указать после каждого такого слова в скобках найденные буквы. Полученный текст записать в файл output.txt. Весь текст, кроме найденных слов, должен...
Free Pascal Массив .Найти меньшую цифру. Не работает код https://www.cyberforum.ru/ free-pascal/ thread742705.html
программа должна найти меньшую цифру в массив и указать его адрес. помогите ребята я уже так запутался что снится по ночам. program Mas; {$mode objfpc}{$H+} uses crt;
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
24.12.2012, 18:23 0

Построить треугольник с вершинами в трех из данных n точек, содержащий внутри как можно больше данных точек - Free Pascal - Ответ 3909737

24.12.2012, 18:23. Показов 2613. Ответов 4
Метки (Все метки)

Ответ

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
uses crt,graph;
const nmax=50;
      t=0.001;{точность сравнения вещественных чисел}
{площадь треугольника по координаьам вершин}
function Plos(x1,y1,x2,y2,x3,y3:real):real;
begin
Plos:=abs((x1-x2)*(y3-y2)-(y1-y2)*(x3-x2))/2;
end;
{принадлежность точки треугольнику}
function Prin(x,y,x1,y1,x2,y2,x3,y3:real):boolean;
var s,s1,s2,s3:real;
begin
s:=Plos(x1,y1,x2,y2,x3,y3);
s1:=Plos(x,y,x1,y1,x2,y2);
s2:=Plos(x,y,x2,y2,x3,y3);
s3:=Plos(x,y,x1,y1,x3,y3);
Prin:=abs(s-s1-s2-s3)<=t;
end;
 
var a:array[1..nmax,1..2] of real;
    x,y,n,i,j,k,m,mx,imx,jmx,kmx,kv:integer;
    ms:real;
    s,s1,s2,s3:string;
begin
clrscr;
randomize;
repeat
write('Kolichestvo tochek ot 5 do ',nmax,' n=');
readln(n);
until n in [5..nmax];
initgraph(x,y,'');
for i:=1 to n do
 begin
  a[i,1]:=-10+20*random;{координаты}
  a[i,2]:=-10+20*random;
 end;
mx:=0; {макс кол-во точек внутри}
imx:=1;{номера вершин с минимальной разницей}
jmx:=2;
kmx:=3;
for i:=1 to n-2 do{выбираем треугольник}
for j:=i+1 to n-1 do
for k:=j+1 to n do
 begin
  kv:=0;{количество внутри}
  for m:=1 to n do
  if not(m in [i,j,k])and {проверякм точки, не вершины треугольника}
  Prin(a[m,1],a[m,2],a[i,1],a[i,2],a[j,1],a[j,2],a[k,1],a[k,2]) then inc(kv);
  if kv>mx then
   begin
    mx:=kv;
    kmx:=k;
    jmx:=j;
    imx:=i;
   end;
  end;
ms:=(getmaxY-50)/20;{масштаб для перевода координат в экранные}
x:=getmaxX div 2;{центр}
y:=getmaxY div 2;
{треугольник}
setcolor(12);
setfillstyle(1,12); {вершины}
circle(x+round(ms*a[imx,1]),y-round(ms*a[imx,2]),3);
floodfill(x+round(ms*a[imx,1]),y-round(ms*a[imx,2]),12);
circle(x+round(ms*a[jmx,1]),y-round(ms*a[jmx,2]),3);
floodfill(x+round(ms*a[jmx,1]),y-round(ms*a[jmx,2]),12);
circle(x+round(ms*a[kmx,1]),y-round(ms*a[kmx,2]),3);
floodfill(x+round(ms*a[kmx,1]),y-round(ms*a[kmx,2]),12);
setcolor(12); {стороны}
line(x+round(ms*a[imx,1]),y-round(ms*a[imx,2]),x+round(ms*a[jmx,1]),y-round(ms*a[jmx,2]));
line(x+round(ms*a[imx,1]),y-round(ms*a[imx,2]),x+round(ms*a[kmx,1]),y-round(ms*a[kmx,2]));
line(x+round(ms*a[kmx,1]),y-round(ms*a[kmx,2]),x+round(ms*a[jmx,1]),y-round(ms*a[jmx,2]));
for i:=1 to n do
if not(i in [imx,jmx,kmx]) then
if Prin(a[i,1],a[i,2],a[imx,1],a[imx,2],a[jmx,1],a[jmx,2],a[kmx,1],a[kmx,2])then
  begin
   setcolor(9);
   setfillstyle(1,9);
   circle(x+round(ms*a[i,1]),y-round(ms*a[i,2]),2);{точки внутри}
   floodfill(x+round(ms*a[i,1]),y-round(ms*a[i,2]),9);
  end
else
  begin
   setcolor(10);
   setfillstyle(1,10);
   circle(x+round(ms*a[i,1]),y-round(ms*a[i,2]),2);{точки снаружи}
   floodfill(x+round(ms*a[i,1]),y-round(ms*a[i,2]),10);
  end;
readln
end.


Вернуться к обсуждению:
Построить треугольник с вершинами в трех из данных n точек, содержащий внутри как можно больше данных точек Free Pascal
1
Заказать работу у эксперта

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2012, 18:23
Готовые ответы и решения:

Построить два треугольника с вершинами в заданном множестве точек на плоскости так, чтобы первый треугольник лежал строго внутри второго
Здравствуйте, помогите пожалуйста решить задачу: Построить два треугольника с вершинами в...

Задать n точек. Найти m=3,4... точек и построить на них m-угольник такой что, количество точек , лежащих внутри и вне m-угольника , минимально различа
Задать n точек. Найти m=3,4... точек и построить на них m-угольник такой что, количество точек ,...

Даны два множества точек на плоскости. Выбрать три точки так, чтобы треугольник с вершинами в этих точках содержал равное количество точек
Даны два множества точек на плоскости. Из первого множества выбрать три различные точки так, чтобы...

Доказать, что из 9 точек на плоскости всегда можно выбрать 5 точек, являющихся вершинами выпуклого пятиугольника
Доказать, что из любых девяти точек на плоскости, никакие три из которых не лежат на одной прямой,...

4
24.12.2012, 18:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2012, 18:23
Помогаю со студенческими работами здесь

Определить, из каких трех из данных отрезков можно построить треугольник
1.Окружность на плоскости задана координатами ее центра X, Y и радиусом R. Пусть даны...

Построить такие два треугольника с вершинами в заданном множестве точек на плоскосли, из которых один лежал бы строго внутри другого
Построить такие два треугольника с вершинами в заданном множестве точек на плоскосли, из которых...

Определить, можно ли построить из точек прямоугольный треугольник
Помогите пожалуйста с задачей на C#...Даны три точки на плоскости. Определить, можно ли построить...

Дано множество точек на плоскости. Сколько можно на данном множестве точек построить отрезков, перпендикулярных оси OY
помогите с задачкой Дано множество точек на плоскости. Сколько можно на данном множестве точек...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru