Заменить знаки чисел массива так, чтобы все элементы массива стали отрицательными - PascalABC.NET

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

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

Дан массив {X} размерностью n. Нужно: заменить знаки так, чтобы все элементы массива стали отрицательными, только если на k позициях подряд элементы одинаковы. При невыполнении заданного условия выдать сообщение «Решения не существует». Ограничения: создание вспомогательного массива и использование принудительных средств выхода из цикла с параметром не допускается Помогите решить

Решение задачи: «Заменить знаки чисел массива так, чтобы все элементы массива стали отрицательными»

textual
Листинг программы
  1. var
  2.   i,j,k,l,n:integer;
  3.   x:array of integer;
  4. begin
  5.   write('Введите количество элементов: ');
  6.   readln(n);
  7.   write('Введите количество позиций:');
  8.   readln(k);
  9.   SetLength(x,n);
  10.   write('Введите элементы массива через пробел:');
  11.   for i:=0 to n-1 do read(x[i]);
  12.   l:=x[0];  
  13.   j:=1;
  14.   for i:=1 to n-1 do
  15.     if l=x[i] then j:=j+1 else if j<k then begin j:=1;l:=x[i];end;
  16.   if j<k then writeln('Решения не существует')else
  17.     begin
  18.        write('Полученный массив:');
  19.       for i:=0 to n-1 do begin x[i]:=-abs(x[i]);write(x[i],' ');end;
  20.     end;
  21. end.

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

  1. Ввод количества элементов массива и количества позиций.
  2. Инициализация массива с помощью функции SetLength.
  3. Ввод элементов массива через пробел.
  4. Создание переменной l и присваивание ей первого элемента массива.
  5. Создание переменной j и присвоение ей значения 1.
  6. Цикл по всем элементам массива, начиная со второго.
  7. Если элемент массива равен l, то увеличиваем значение j на 1.
  8. Если j меньше k и элемент массива не равен l, то сбрасываем значение j на 1, присваиваем l значение этого элемента и продолжаем цикл.
  9. Если j меньше k, то выводим сообщение о том, что решения не существует.
  10. Если j больше или равно k, то выводим полученный массив.
  11. Для каждого элемента массива вычисляем его абсолютное значение и присваиваем его обратно с отрицательным знаком.
  12. Выводим полученный массив на экран.

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


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

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

14   голосов , оценка 4 из 5

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

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

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