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

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

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

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

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

textual
Листинг программы
var
  i,j,k,l,n:integer;
  x:array of integer;
begin
  write('Введите количество элементов: ');
  readln(n);
  write('Введите количество позиций:');
  readln(k);
  SetLength(x,n);
  write('Введите элементы массива через пробел:');
  for i:=0 to n-1 do read(x[i]);
  l:=x[0];   
  j:=1;
  for i:=1 to n-1 do 
    if l=x[i] then j:=j+1 else if j<k then begin j:=1;l:=x[i];end;
  if j<k then writeln('Решения не существует')else 
    begin
       write('Полученный массив:'); 
      for i:=0 to n-1 do begin x[i]:=-abs(x[i]);write(x[i],' ');end;
    end;
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
Похожие ответы