Заменить знаки чисел массива так, чтобы все элементы массива стали отрицательными - 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.
Объяснение кода листинга программы
- Ввод количества элементов массива и количества позиций.
- Инициализация массива с помощью функции SetLength.
- Ввод элементов массива через пробел.
- Создание переменной l и присваивание ей первого элемента массива.
- Создание переменной j и присвоение ей значения 1.
- Цикл по всем элементам массива, начиная со второго.
- Если элемент массива равен l, то увеличиваем значение j на 1.
- Если j меньше k и элемент массива не равен l, то сбрасываем значение j на 1, присваиваем l значение этого элемента и продолжаем цикл.
- Если j меньше k, то выводим сообщение о том, что решения не существует.
- Если j больше или равно k, то выводим полученный массив.
- Для каждого элемента массива вычисляем его абсолютное значение и присваиваем его обратно с отрицательным знаком.
- Выводим полученный массив на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д