Заменить элементы массива на противоположные | Язык Паскаль
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.