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-символа для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д