13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
1

Поиск расстояния между точками

20.10.2013, 21:23. Показов 764. Ответов 2
Метки нет (Все метки)

Задачка такая:
Попросить пользователя ввести X и Y, загрузить из файла другие координаты.
Выбрать и вывести из файла наиболее ближайшую координату, к введенной.
Я сделал программу, но она иногда не правильно работает =(
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
program Project1;
 
 
 
uses
crt;
 
Var f:text;
num:array[1..100,1..2] of integer;
i,i1,n,tmp,x,y,count,bcount:integer;
t:boolean;
fc,fc2,bc:real;
Begin
Writeln('Vvedite X and Y');
Readln(x,y);
Assign(f,'D:/numbers.txt');
Reset(f);
i:=0;
Writeln('Enter X and Y');
Writeln('X Y:');
While not(EOF(f)) do
begin
i:=i+1;
read(f,num[i,1],num[i,2]);
Writeln(num[i,1],' ',num[i,2]);
end;
close(f);
n:=i;
count:=200;
fc:= SQRT(sqr(ABS(x-num[1,1]))+sqr(ABS(y-num[1,2])));
IF (x<>num[1,1]) and (y<>num[1,2]) then
begin
For i:=2 to n do
begin
fc2:= SQRT(sqr(ABS(x-num[i,1]))+sqr(ABS(y-num[i,2])));
if FC<>FC2 then
if fc2<fc then
While fc2<=fc do
Begin
fc2:=fc2+1;
bCount:=bcount+1;
if bcount<count then
begin
count:=bcount;
i1:=i;
end;
end
else if fc2>fc then
begin
bc:=fc;
While fc2>=bc do
Begin
bc:=bc+1;
bCount:=bcount+1;
if bcount<count then
begin
count:=bcount;
i1:=i;
end;
end;
end
else
begin
i1:=i;
break;
end;
end;
end
else
i1:=1;
Writeln(i1);
Writeln('Blizayshie coordinati= ',num[i1,1],' ',num[i1,2]);
readln;
end.
Добавлено через 4 часа 18 минут
Помогите.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2013, 21:23
Ответы с готовыми решениями:

Нахождение расстояния между точками
Четыре точки заданы своими координатами X(x1, x2), Y(y1, y2), Z(z1, z2), P(p1, p2). Выяснить, какие...

Нахождение расстояния между точками
Помогите пожалуйста решить задание! Даны две точки в n-мерном пространстве X=(х1, х2, ..., хn),...

Нахождение расстояния между двумя точками
Коллеги помогите пожалуйста решить данную задачу по паскалю. Или просто объясните алгоритм действия...

Найти расстояния между тремя точками
Подпрограммы с типизированными параметрами-значениями и параметрами-переменными. С помощью...

2
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
22.10.2013, 00:34  [ТС] 2
Помогите, ребята
0
Почетный модератор
64277 / 47576 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
22.10.2013, 07:45 3
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
uses
crt;
Var f:text;
    x,y,a,b,mn,amn,bmn:real;{лучще все вещественные}
Begin
Writeln('Vvedite X and Y');
Readln(x,y);
Assign(f,'D:/numbers.txt');
Reset(f);
{прочитаем первую пару координат, пусть пока это будет ближняя точка}
read(f,a,b);
writeln(a:0:2,' ',b:0:2);
mn:=sqr(a-x)+sqr(b-y);{корень не извлекакем, нет смысла}
amn:=a;
bmn:=b;
While not(EOF(f)) do
 begin
  read(f,a,b);
  writeln(a:0:2,' ',b:0:2);
  if sqr(a-x)+sqr(b-y)<mn then
   begin
    mn:=sqr(a-x)+sqr(b-y);
    amn:=a;
    bmn:=b
   end;
 end;
close(f);
Writeln('Blizayshie coordinati= ',amn:0:2,' ',bmn:0:2);
readln
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2013, 07:45
Помогаю со студенческими работами здесь

Нахождение максимального расстояния между тремя точками
Здравствуйте! Необходимо написать программу, вычисляющую максимальное расстояние между тремя...

Функция вычисления расстояния между двумя точками на плоскости
Составить функцию вычисления расстояния между двумя точками на плоскости. С ее помощью вычислить...

Найти периметр и площадь треугольника, используя формулу для расстояния между двумя точками на плоскости
Даны координаты трех вершин треугольника : (x1,y1,x2,y2,x3,y3 ).Найти его периметр и площадь,...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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