Если в массиве произведение положительных элементов кратно 5, то увеличьте количество элементов на 5 - PascalABC.NET

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

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

пользователь вводит размерность массива и его элементы. создать динамический массив с количеством элементов, которые вводит пользователь. если в массиве произведение положительных элементов кратно 5, то увеличьте количество элементов на 5, и новые элементы заполните значениями 1, в противном случае удалить треть последних элементов массива. не могу решить(

Решение задачи: «Если в массиве произведение положительных элементов кратно 5, то увеличьте количество элементов на 5»

textual
Листинг программы
  1. var
  2.   a:array of integer;
  3.   kp,n,i:integer;
  4.   p:LongInt;
  5. begin
  6.   write('Введите размерность массива: ');  readln(n);
  7.   setlength(a,n);
  8.   p:=1;
  9.   kp:=0;
  10.   for i:=0 to n-1 do
  11.     begin
  12.       readln(a[i]);
  13.       if a[i]>0 then
  14.         begin
  15.           p:=p*a[i];
  16.           inc(kp);
  17.         end;
  18.     end;
  19.   if (kp<>0) and (p mod 5 = 0) then
  20.     begin
  21.       setlength(a,n+5);
  22.       for i:=n to n+4 do
  23.         a[i]:=1;
  24.       for i:=0 to n+4 do
  25.         write(a[i]:4);
  26.     end
  27.   else
  28.     begin
  29.       setlength(a,n - n div 3);
  30.       for i:=0 to n - n div 3 - 1 do
  31.         write(a[i]:4);
  32.     end;
  33.   readln;
  34.   setlength(a,0);
  35. end.

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

  1. Объявлены переменные: a (массив целых чисел), kp, n, i (целые числа), p (длинное целое число).
  2. Пользователю предлагается ввести размерность массива.
  3. Массив a инициализируется указанным размером.
  4. Переменная p инициализируется единицей, kp - нулем.
  5. В цикле от 0 до n-1 происходит чтение элемента массива a[i] и проверка на положительность.
  6. Если элемент положительный, то он умножается на p, увеличивается kp и выполняется переход к следующему элементу.
  7. После цикла проверяется условие: если kp не равно нулю и произведение положительных элементов кратно 5, то выполняется блок кода для увеличения размера массива на 5.
  8. В цикле от n до n+4 происходит запись единицы в новый элемент массива a[i].
  9. В цикле от 0 до n+4 происходит запись элемента массива a[i] в консоль, предварительно обрезая до 4 символов.
  10. Если условие из пункта 7 не выполняется, то выполняется блок кода для уменьшения размера массива на 3.
  11. В цикле от 0 до n - n div 3 - 1 происходит запись элемента массива a[i] в консоль, предварительно обрезая до 4 символов.
  12. Программа ожидает ввода пользователя.
  13. Массив a очищается.

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


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

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

15   голосов , оценка 4.267 из 5

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

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

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