На место минимального элемента массива записать сумму последних К элементов - Pascal ABC

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

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

Задан одномерный массив А(N) (N<=60). На место минимального элемента массива записать сумму последних К элементов массива. Если А[1]>=0, то умножить все элементы этого массива на квадрат минимального элемента данного вектора, а если А[1]<0, то умножить все элементы на квадрат максимального элемента вектора. Полученный массив распечатать. Значение К вводится пользователем.

Решение задачи: «На место минимального элемента массива записать сумму последних К элементов»

textual
Листинг программы
{Задан одномерный массив А(N) (N<=60). На место минимального элемента
массива записать сумму последних К элементов массива. Если А[1]>=0,
то умножить все элементы этого массива на квадрат минимального
элемента данного вектора, а если А[1]<0, то умножить все элементы на
квадрат максимального элемента вектора. Полученный массив распечатать.
Значение К вводится пользователем.}
const
  n=60;
var
  i,k,sum,imin,min,max:integer;
  a:array[1..n] of integer;
begin
  writeln('Исходный массив: ');
  for i:=1 to n do
    begin
      a[i]:=random(n) - n div 2;
      write(a[i],' ');
    end;
  min:=a[1]; max:=a[1];
  for i:=1 to n do
    begin
      if a[i]>max then
        max:=a[i];
      if a[i]<min then
        begin
          min:=a[i];
          imin:=i;
        end;
    end;
  writeln;
  writeln('Max: ',max);
  writeln('Min: ',min,' в позиции: ',imin);
  write('Введите число К: ');  readln(k);
  sum:=0;
  for i:=n-k+1 to n do
    sum:=sum+a[i];
  writeln('Сумма последних К элементов: ',sum);
  a[imin]:=sum;
  writeln('Измененный массив с заменой минимума: ');
  for i:=1 to n do
      write(a[i],' ');
  writeln;
  if a[1]>=0 then
    for i:=1 to n do
      a[i]:=a[i]*sqr(min)
  else
    for i:=1 to n do
      a[i]:=a[i]*sqr(max);
  writeln('Измененный массив: ');
  for i:=1 to n do
      write(a[i],' ');
  readln;
end.

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

  1. Создается переменная n со значением 60. Это будет размер массива.
  2. Создается переменная a типа array[1..n] of integer. Это массив для хранения чисел.
  3. В цикле for заполняются элементы массива случайными числами от -30 до 30.
  4. Минимальное и максимальное значения в массиве определяются как первый и последний элементы соответственно.
  5. Затем происходит поиск индекса первого минимального элемента. Если он находится в первой позиции, то это минимальный элемент, и его значение присваивается переменной min. Если же он находится в другой позиции, то это максимальный элемент, и его значение присваивается переменной max.
  6. После этого происходит поиск индекса следующего минимального элемента, начиная с позиции n-k+1 и до конца массива. Если найден, то его значение добавляется к сумме sum.
  7. Значение sum присваивается переменной min, которая теперь содержит сумму последних k элементов.
  8. В конце кода выводится измененный массив с заменой минимального элемента на значение sum.
  9. Если a[1] больше или равно нулю, то все элементы массива умножаются на квадрат минимального элемента. Если же a[1] меньше нуля, то все элементы умножаются на квадрат максимального элемента.
  10. Конец программы.

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


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

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

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