Из элементов массива С сформировать массив А той же размерности по правилу: элементы с 3-го по 12-й - Ai=-Ci^2, все остальные - Аi=Ci-1.
1)Заменить максимальный элемент на противоположный по знаку. 2)Заменить нулями элементы между минимальным и максимальным, кроме них самих.
Два пункта должны быть реализованы в одном коде, не отдельно!!
Код нужен на Pascal(Паскале)

21 Ноя 2019 в 19:57
215 +1
0
Ответы
1

program ChangeArrayElements;

var
C, A: array[1..15] of integer;
i, minIndex, maxIndex: integer;
minValue, maxValue: integer;

begin
// Заполняем массив C
for i := 1 to 15 do
C[i] := random(21) - 10; // случайные числа от -10 до 10

// Выводим исходный массив C
writeln('Исходный массив C:');
for i := 1 to 15 do
write(C[i], ' ');
writeln;

// Формируем массив A по правилам
for i := 1 to 15 do
begin
if (i >= 3) and (i <= 12) then
A[i] := -C[i]*C[i]
else
A[i] := C[i-1];
end;

// Находим индексы минимального и максимального элементов
minValue := A[1];
maxValue := A[1];
minIndex := 1;
maxIndex := 1;

for i := 2 to 15 do
begin
if A[i] < minValue then
begin
minValue := A[i];
minIndex := i;
end;

if A[i] > maxValue then
begin
maxValue := A[i];
maxIndex := i;
end;

end;

// Заменяем максимальный элемент на противоположный по знаку
A[maxIndex] := -A[maxIndex];

// Заменяем нулями элементы между минимальным и максимальным, кроме них самих
if minIndex < maxIndex then
begin
for i := minIndex + 1 to maxIndex - 1 do
A[i] := 0;
end
else
begin
for i := maxIndex + 1 to minIndex - 1 do
A[i] := 0;
end;

// Выводим измененный массив A
writeln('Измененный массив A:');
for i := 1 to 15 do
write(A[i], ' ');
writeln;

end.

19 Апр 2024 в 01:13
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир