Найти наибольший элемент вектора, кратный трём и равный своему номеру, и его номер - Pascal

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

Задан вектор из N элементов. Найти наибольшее число и его координату среди кратных трем и совпадающих со своим номером элементов и поменять его с последним элементом.

Код к задаче: «Найти наибольший элемент вектора, кратный трём и равный своему номеру, и его номер - Pascal»

textual
{Задан вектор из N элементов. Найти наибольшее число и его координату среди 
кратных трем и совпадающих со своим номером элементов и поменять его с 
последним элементом. }
const
  n = 10;
 
var
  temp, i, ik, max: integer;
  a: array [1..n] of integer;
 
begin
  for i := 1 to n do
  begin
    a[i] := random(n);
    write(a[i]:4);
  end;
  writeln;
  ik := 0;
  for i := 1 to n do  
    if (a[i] mod 3 = 0) and (a[i] = i) then
    begin
      ik := i;
      max := a[i];
    end;
  if ik = 0 then 
  begin
    write('Нет чисел, удовлетворящих условию.');
    exit;
  end
  else
  begin
    for i := 1 to n do
      if (a[i] mod 3 = 0) and (a[i] = i) and (a[i] > max) then    
      begin
        ik := i;
        max := a[i];
      end;
    writeln('Максимум: ', max, ' в позиции: ', ik);
    temp := a[n];
    a[n] := a[ik];
    a[ik] := temp;
    for i := 1 to n do
      write(a[i]:4);
  end;
  
end.

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

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

13   голосов, оценка 3.846 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы