Max среди координат одного вектора - Free Pascal

Узнай цену своей работы

Формулировка задачи:

max среди координат одного вектора. С векторов v1,v2,v3 выбрать вектора(один или несколько),что имеют наибольший max среди координат.В выбранных векторах заменить этот max на значения 2010.Вывести max среди координат и отобранные векторы,вывести изменённые векторы. Помогите с программкой)))

Решение задачи: «Max среди координат одного вектора»

textual
Листинг программы
  1. {$mode objfpc}
  2. uses
  3.   math;
  4. const
  5.   n=15;
  6. var
  7.   num,i,j:integer;
  8.   v1,v2,v3:array[1..n] of Integer;
  9.   b:array[1..3] of integer;
  10.  
  11. procedure CreateVectors;
  12. begin
  13.   for i:=1 to n do
  14.     begin
  15.       v1[i]:=random(n*n)- n*n div 2;
  16.       v2[i]:=random(n*n)- n*n div 2;
  17.       v3[i]:=random(n*n)- n*n div 2;
  18.     end;
  19.   writeln('Первый вектор: ');
  20.   for i:=1 to n do
  21.     write(v1[i]:5);
  22.   writeln;
  23.   writeln('Второй вектор: ');
  24.   for i:=1 to n do
  25.     write(v2[i]:5);
  26.   writeln;
  27.   writeln('Третий вектор: ');
  28.   for i:=1 to n do
  29.     write(v3[i]:5);
  30.   writeln;
  31. end;
  32.  
  33. procedure FindMax;
  34. begin
  35.   b[1]:=MaxValue(v1);
  36.   b[2]:=MaxValue(v2);
  37.   b[3]:=MaxValue(v3);
  38.   writeln('Максимумы:');
  39.   for i:=1 to 3 do
  40.     writeln('Максимум ',i,'-го вектора: ',b[i]);
  41.   Writeln('Максимум среди максимумов: ',MaxValue(b));
  42.   for j:=1 to 3 do
  43.     if b[j]=maxvalue(b) then
  44.       num:=j;
  45.   writeln;
  46. end;
  47.  
  48. procedure OutputChangedVector;
  49. begin
  50.   case num of
  51.     1: begin
  52.          writeln('Измененный первый вектор:');
  53.          for i:=1 to n do
  54.            begin
  55.             if v1[i]=b[1] then
  56.               v1[i]:=2010;
  57.             write(v1[i]:5)
  58.            end;
  59.          writeln;
  60.        end;
  61.     2: begin
  62.          writeln('Измененный второй вектор:');
  63.          for i:=1 to n do
  64.            begin
  65.             if v2[i]=b[2] then
  66.               v2[i]:=2010;
  67.             write(v2[i]:5)
  68.            end;
  69.          writeln;
  70.        end;
  71.     3: begin
  72.          writeln('Измененный третий вектор:');
  73.          for i:=1 to n do
  74.            begin
  75.             if v3[i]=b[3] then
  76.               v3[i]:=2010;
  77.             write(v3[i]:5)
  78.            end;
  79.          writeln;
  80.        end;
  81.   end;
  82.  
  83. end;
  84.  
  85. begin
  86.   randomize;
  87.   createvectors;
  88.   FindMax;
  89.   OutputChangedVector;
  90.   readln;
  91. end.

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

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

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

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


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

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

14   голосов , оценка 3.786 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы