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

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

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

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

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

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.

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

  1. Создается константа n и присваивается значение 10.
  2. Создаются переменные temp, i, ik, max типа целое число и массив a типа целое число с размером от 1 до n.
  3. В цикле от 1 до n генерируются случайные числа и записываются в массив a.
  4. Выводятся значения массива a через пробел.
  5. Создается переменная ik и устанавливается значение 0.
  6. В цикле от 1 до n проверяется, удовлетворяют ли элементы массива условиям: кратны трем и равны своему номеру. Если да, то переменной ik присваивается значение i, а переменной max присваивается значение a[i].
  7. Если ik равно 0, то выводится сообщение Нет чисел, удовлетворящих условию. и программа завершается.
  8. Иначе, для каждого элемента в массиве проверяется, удовлетворяют ли они условиям: кратны трем и равны своему номеру, и больше ли они, чем max. Если да, то переменной ik присваивается значение i, а переменной max присваивается значение a[i].
  9. Выводится сообщение с максимальным числом и его позицией.
  10. Переменной temp присваивается значение последнего элемента массива a.
  11. Последнему элементу массива a присваивается значение a[ik].
  12. Элементу массива a[ik] присваивается значение temp.
  13. Выводятся значения массива a.

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


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

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

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