Найти вектор минимальной длины - Pascal
Формулировка задачи:
Здравствуйте! Помогите пожалуйста с написанием программы, которая выбирает вектор минимальной длины из заданного множества n-мерных векторов через функцию. Буду очень благодарен всем кто откликнется на помощь!
Решение задачи: «Найти вектор минимальной длины»
textual
Листинг программы
- const n=2; k=5;
- var
- a, b: array [1..n] of Real;
- m, t: Real;
- i, j: Integer;
- begin
- WriteLn('Введите координаты ',n,'-мерных векторов (',k,'):');
- for j:=1 to n do Read(b[j]); m:=vLen(b);
- for i:=2 to k do begin
- for j:=1 to n do Read(a[j]); t:=vLen(b);
- if m>t then begin
- m:=t; b:=a;
- end;
- end;
- Write('Вектор с минимальной длиной ',m,': (',b[1]);
- for j:=2 to n do Write(', ',b[j]); WriteLn(')');
- end.
Объяснение кода листинга программы
- Объявление и инициализация констант:
n
= 2k
= 5
- Объявление переменных:
a, b
- массивы размерностиn
из вещественных чиселm, t
- вещественные числа для хранения длин векторовi, j
- целочисленные переменные для использования в циклах
- Определение начала выполнения программы (команда
begin
). - Вывод сообщения пользователю с просьбой ввести координаты векторов:
WriteLn('Введите координаты ',n,'-мерных векторов (',k,'):'
- Заполнение массива
b
считанными значениями:- Цикл, в котором считываются координаты векторов и вычисляется длина каждого вектора
for j:=1 to n do Read(b[j]); m:=vLen(b);
- Цикл, в котором происходит сравнение длин векторов и нахождение минимальной:
for i:=2 to k do begin
- Считывание координат векторов в массив
a
и расчет длины вектораt
for j:=1 to n do Read(a[j]); t:=vLen(b);
- Сравнение длин и, если новая длина меньше предыдущей, обновление значения длины и массива
b
if m>t then begin m:=t; b:=a; end;
- Вывод результата:
Write('Вектор с минимальной длиной ',m,': (',b[1]);
- Вывод координат вектора с минимальной длиной
for j:=2 to n do Write(', ',b[j]); WriteLn(')');
- Конец выполнения программы (команда
end
).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д