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

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

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

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

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

textual
Листинг программы
  1. {Задан вектор из N элементов. Найти наибольшее число и его координату среди
  2. кратных трем и совпадающих со своим номером элементов и поменять его с
  3. последним элементом. }
  4. const
  5.   n = 10;
  6.  
  7. var
  8.   temp, i, ik, max: integer;
  9.   a: array [1..n] of integer;
  10.  
  11. begin
  12.   for i := 1 to n do
  13.   begin
  14.     a[i] := random(n);
  15.     write(a[i]:4);
  16.   end;
  17.   writeln;
  18.   ik := 0;
  19.   for i := 1 to n do  
  20.     if (a[i] mod 3 = 0) and (a[i] = i) then
  21.     begin
  22.       ik := i;
  23.       max := a[i];
  24.     end;
  25.   if ik = 0 then
  26.   begin
  27.     write('Нет чисел, удовлетворящих условию.');
  28.     exit;
  29.   end
  30.   else
  31.   begin
  32.     for i := 1 to n do
  33.       if (a[i] mod 3 = 0) and (a[i] = i) and (a[i] > max) then    
  34.       begin
  35.         ik := i;
  36.         max := a[i];
  37.       end;
  38.     writeln('Максимум: ', max, ' в позиции: ', ik);
  39.     temp := a[n];
  40.     a[n] := a[ik];
  41.     a[ik] := temp;
  42.     for i := 1 to n do
  43.       write(a[i]:4);
  44.   end;
  45.  
  46. 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

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

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

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