Max среди координат одного вектора - Free Pascal
Формулировка задачи:
max среди координат одного вектора.
С векторов v1,v2,v3 выбрать вектора(один или несколько),что имеют наибольший max среди координат.В выбранных векторах заменить этот max на значения 2010.Вывести max среди координат и отобранные векторы,вывести изменённые векторы.
Помогите с программкой)))
Решение задачи: «Max среди координат одного вектора»
textual
Листинг программы
- {$mode objfpc}
- uses
- math;
- const
- n=15;
- var
- num,i,j:integer;
- v1,v2,v3:array[1..n] of Integer;
- b:array[1..3] of integer;
- procedure CreateVectors;
- begin
- for i:=1 to n do
- begin
- v1[i]:=random(n*n)- n*n div 2;
- v2[i]:=random(n*n)- n*n div 2;
- v3[i]:=random(n*n)- n*n div 2;
- end;
- writeln('Первый вектор: ');
- for i:=1 to n do
- write(v1[i]:5);
- writeln;
- writeln('Второй вектор: ');
- for i:=1 to n do
- write(v2[i]:5);
- writeln;
- writeln('Третий вектор: ');
- for i:=1 to n do
- write(v3[i]:5);
- writeln;
- end;
- procedure FindMax;
- begin
- b[1]:=MaxValue(v1);
- b[2]:=MaxValue(v2);
- b[3]:=MaxValue(v3);
- writeln('Максимумы:');
- for i:=1 to 3 do
- writeln('Максимум ',i,'-го вектора: ',b[i]);
- Writeln('Максимум среди максимумов: ',MaxValue(b));
- for j:=1 to 3 do
- if b[j]=maxvalue(b) then
- num:=j;
- writeln;
- end;
- procedure OutputChangedVector;
- begin
- case num of
- 1: begin
- writeln('Измененный первый вектор:');
- for i:=1 to n do
- begin
- if v1[i]=b[1] then
- v1[i]:=2010;
- write(v1[i]:5)
- end;
- writeln;
- end;
- 2: begin
- writeln('Измененный второй вектор:');
- for i:=1 to n do
- begin
- if v2[i]=b[2] then
- v2[i]:=2010;
- write(v2[i]:5)
- end;
- writeln;
- end;
- 3: begin
- writeln('Измененный третий вектор:');
- for i:=1 to n do
- begin
- if v3[i]=b[3] then
- v3[i]:=2010;
- write(v3[i]:5)
- end;
- writeln;
- end;
- end;
- end;
- begin
- randomize;
- createvectors;
- FindMax;
- OutputChangedVector;
- readln;
- end.
Объяснение кода листинга программы
Список элементов кода:
- Векторы v1, v2 и v3 заданы размером n и заполняются случайными значениями от -n до n.
- Функция MaxValue ищет максимальное значение в массиве.
- В процедуре FindMax находятся максимальные значения для каждого из векторов, а затем находится максимальное значение среди этих максимумов.
- В процедуре OutputChangedVector выводится вектор, в котором найден максимальный элемент, и этот элемент заменяется на 2010.
- В конце кода выполняется чтение NUL-символа для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д