|
||
zadach31.PAS |
||
{* Задача 31 *}Unit ZADACH31;Interface Implementation Begin writeln('На плоскости заданы своими координатами n точек. Составить программу определяющую между какими из пар точек самое большое расстояние '); End. Program zadach31; Uses zadach31.pas; {* Эту строку можно удалить *} Uses crt; {* Подключаем внешние файлы *} Const {* Предопределенные *} nmax = 15; Var {* В работе нам потребуются переменные: *} x : Array[1..nmax] Of real; y : Array[1..nmax] Of real; n : byte; i : byte; j : byte; imx : byte; jmx : byte; mx : real; Begin clrscr; {* Очищаем экран *} randomize; Repeat write('Количество точек от 2 до ', nmax, ' n='); readln(n); Until n In [2..nmax]; For i := 1 To n Do {* Увеличиваем i от 1 до n с шагом 1 *} Begin x[i] := 10 * random - 4; y[i] := 10 * random - 4; End; writeln('Координаты:'); write('N'); For i := 1 To n dowrite(i : 5); {* Переменная i увеличивается с 1 до n *} writeln; {* Пустая строка *} write('X'); For i := 1 To n Do {* Переменная i увеличивается с 1 до n *} write(x[i] : 5 : 1); writeln; {* Пустая строка *} write('Y'); For i := 1 To n Do {* Цикл для i => [1 .. n] *} write(y[i] : 5 : 1); writeln; {* Вывод пустой строки *} writeln; {* Вывод пустой строки *} mx := sqrt(sqr(x[1] - x[2]) + sqr(y[1] - y[2])); imx := 1; jmx := 2; For i := 1 To n - 1 Dofor j := i + 1 To n Do {* Цикл для i => [1 .. n] *} If sqrt(sqr(x[i] - x[j]) + sqr(y[i] - y[j])) > mx Then Begin mx := sqrt(sqr(x[i] - x[j]) + sqr(y[i] - y[j])); imx := i; jmx := j; End; writeln('Максимальное расстояние между точками ', imx, '-', jmx, ' = ', mx : 0 : 2); readln End. 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
||
Non-commercial fansite
|