Заменить элементы массива на противоположные в Pascal
Дан массив, содержащий положительные и отрицательные числа. Заменить все элементы массива на противоположные по знаку.
Например, задан массив [1, -5, 0, 3, -4]. После преобразования должно получиться [-1, 5, 0, -3, 4].
Чтобы поменять элемент на противоположный, достаточно умножить его на -1.
const N = 10; var arr: array[1..N] of integer; i: byte; begin randomize; for i:=1 to N do begin arr[i] := random(100) - 50; write(arr[i]:4); end; writeln; for i:=1 to N do arr[i] := -1 * arr[i]; for i:=1 to N do write(arr[i]:4); writeln; end.
Задача может быть сформулирована так: заменить первые K элементов на противоположные по знаку. В данном случае перебирать элементы и менять на противоположные нужно до K включительно.
const N = 15; var arr: array[1..N] of integer; i, k: byte; begin randomize; for i:=1 to N do begin arr[i] := random(100) - 50; write(arr[i]:4); end; writeln; write('Введите k <= ', N, ': '); readln(k); if k > N then exit; for i:=1 to k do arr[i] := -1 * arr[i]; for i:=1 to N do write(arr[i]:4); writeln; end.