Из элементов массива С сформировать массив А той же размерности по правилу: элементы с 3-го по 12-й - Ai=-Ci^2, все остальные - Аi=Ci-1. 1)Заменить максимальный элемент на противоположный по знаку. 2)Заменить нулями элементы между минимальным и максимальным, кроме них самих. Два пункта должны быть реализованы в одном коде, не отдельно!! Код нужен на Pascal(Паскале)
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;
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
if A[i] > maxValue thenbegin
if A[i] < minValue then
begin
minValue := A[i];
minIndex := i;
end;
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.