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.

Объяснение кода листинга программы

Список элементов кода:

  1. Векторы v1, v2 и v3 заданы размером n и заполняются случайными значениями от -n до n.
  2. Функция MaxValue ищет максимальное значение в массиве.
  3. В процедуре FindMax находятся максимальные значения для каждого из векторов, а затем находится максимальное значение среди этих максимумов.
  4. В процедуре OutputChangedVector выводится вектор, в котором найден максимальный элемент, и этот элемент заменяется на 2010.
  5. В конце кода выполняется чтение NUL-символа для завершения работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы