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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2012, 17:40   #1
RACOST
Пользователь
 
Регистрация: 09.06.2012
Сообщений: 11
По умолчанию Определить расстояние между самыми дальними точками.

Дан массив из десяти целых чисел. Это координаты пяти различных точек (X и Y). Определить расстояние между самыми дальними точками.
Например, если массив содержит [-8,-2,1,-3,0,7,6,5,8,8] то ответом должно быть 18.87.
RACOST вне форума Ответить с цитированием
Старый 26.06.2012, 18:11   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Примерно так:
Пусть число точек N;
Массив точек: mas[1..2*N]; {координаты в порядке X1, Y1, X2,Y2, ...}
Код:
Lmax:=0; {начальное значение для максимального расстояния}
1. Цикл с параметром I от 1 до N-1; {для каждой точки кроме последней}
Код:
kx := mas[2*I - 1];
   ky := mas[2*I];
2. Цикл с параметром J от I+1 до N {перебираем остальные точки}
Код:
 L := sqr(mas[2*J-1]-kx]) + sqr(mas[2*J]-ky); {квадрат расстояния}
Если Lmax<L то сохраняем новое значение: Lmax := L;
Закончим тело цикла по j;
Закончим тело цикл по i;
7. Выводим на печать значение Sqrt(Lmax).

Тут простой алгоритм. Попробуй...
Что-то вроде этого ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 26.06.2012, 19:54   #3
RACOST
Пользователь
 
Регистрация: 09.06.2012
Сообщений: 11
По умолчанию

РЕБЯТ НА АСЕМБЛЕРЕ
RACOST вне форума Ответить с цитированием
Старый 26.06.2012, 20:05   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Показывай наработки свои.
eoln вне форума Ответить с цитированием
Старый 26.06.2012, 20:12   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

С потолка:
Код:
a db -8,-2,1,-3,0,7,6,5,8,8
n db 10
max db 0;
min db 0;
...
 mov al,[a]
 mov [max],al
 mov [min],al
 xor cx,cx
 mov cl,[n]
cyc:
 mov al,[a+cx]
 cmp al,[max]
 jle nomax
 mov [max],al
nomax: 
 cmp al,[min]
 jge nomin
 mov [min],al
nomin: 
 loop cyc
 mov al,[max]
 sub al,[min]
 ;Результат будет в al
...
Смысл в нахождении экстремумов, и их вычитании.
Не проверял, но думаю подойдет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расстояние между точками bumer7721 Помощь студентам 0 22.03.2012 19:16
СИ Найти наименьшее расстояние между точками savra Помощь студентам 2 19.04.2011 10:16
Расстояние между точками (Delphi) КатюФа Помощь студентам 3 04.05.2010 14:52
расстояние между точками в евклидовой плоскости CrystaLize Помощь студентам 0 30.11.2009 23:47