
Сделайте в паскаль. Дан массив вещественных чисел. Вывести на экран новое состояние массива, в
котором: a) Каждый отрицательный элемент заменить на его абсолютную величину; b) Все элементы с нечетными номерами заменить на их квадратный корень; c) Из всех положительных элементов вычесть элемент с номером К1, из остальных К2.

Ответы на вопрос

write('Введите число K1');
read(b);
Write('Введите число k2');
read(c);
for i:=-10 to 10 doa[i]:=i;for i:=-10 to 10 do beginv:=a[i];if v >0 then a[i]:=a[i]*a[i];if a[i]<0 then a[i]:=a[i]*-1;
if a[i]>=0 then a[i]:=a[i]-b else a[i]:=a[i]-c;
end;end.



Описание задачи:
Вам нужно написать программу на языке Pascal, которая будет работать с массивом вещественных чисел и выполнять следующие действия:
a) Заменить каждый отрицательный элемент массива на его абсолютное значение. b) Заменить все элементы с нечетными номерами на их квадратный корень. c) Вычесть из всех положительных элементов массива элемент с номером К1, а из остальных элементов вычесть К2.
Решение:
Вот пример решения данной задачи на языке Pascal:
```pascal program ModifyArray; const MAX_SIZE = 100; var arr: array[1..MAX_SIZE] of real; n, i, K1, K2: integer; begin writeln('Введите размер массива (n <= ', MAX_SIZE, '): '); readln(n); writeln('Введите элементы массива:'); for i := 1 to n do readln(arr[i]); writeln('Исходный массив:'); for i := 1 to n do write(arr[i]:8:2, ' '); writeln; writeln('a) Новое состояние массива (отрицательные элементы заменены на их абсолютное значение):'); for i := 1 to n do begin if arr[i] < 0 then arr[i] := abs(arr[i]); write(arr[i]:8:2, ' '); end; writeln; writeln('b) Новое состояние массива (элементы с нечетными номерами заменены на их квадратный корень):'); for i := 1 to n do begin if i mod 2 <> 0 then arr[i] := sqrt(arr[i]); write(arr[i]:8:2, ' '); end; writeln; writeln('Введите номер элемента K1: '); readln(K1); writeln('Введите номер элемента K2: '); readln(K2); writeln('c) Новое состояние массива (положительные элементы вычтены на значение элемента K1, остальные - на значение элемента K2):'); for i := 1 to n do begin if arr[i] > 0 then arr[i] := arr[i] - arr[K1] else arr[i] := arr[i] - arr[K2]; write(arr[i]:8:2, ' '); end; writeln; end. ```
В этом примере мы сначала запрашиваем размер массива и вводим элементы. Затем мы выводим исходный массив и выполняем каждое из трех указанных действий, выводя новое состояние массива после каждого действия. В конце мы также запрашиваем номера K1 и K2 и выполняем третье действие, выводя окончательное состояние массива.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili