
В массиве D[1..n] удвоить все четные элементы и удалить второй и девятый элементы.


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

Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
if n<9 then n:=9; // от дурака
var d:=ArrRandom(n,-50,50);
Write('Исходный массив: '); d.Println;
var i:=1;
repeat
d[i]*=2; i+=2
until i>n-1;
Write(' После удвоения: '); d.Println;
d:=d[:1]+d[2:8]+d[9:];
Write(' После удаления: '); d.Println
end.
Пример
n= 15
Исходный массив: -13 -33 48 -47 -9 19 -21 45 10 -4 -30 40 -31 0 -2
После удвоения: -13 -66 48 -94 -9 38 -21 90 10 -8 -30 80 -31 0 -2
После удаления: -13 48 -94 -9 38 -21 90 -8 -30 80 -31 0 -2




maxn = 100;
type
myarr = array [1..maxn] of longint;
var
D: myarr;
n, i: longint;
begin
readln(n);
for i := 1 to n do begin
read(D[i]);
if (D[i] mod 2 = 0) then
D[i] := D[i] * 2;
end;
for i := 2 to (n - 1) do
D[i] := D[i + 1];
n := n - 1;
for i := 8 to (n - 1) do
D[i] := D[i + 1];
n := n - 1;
for i := 1 to n do
write(D[i], ' ');
end.




Для выполнения данной задачи вам потребуется выполнить несколько шагов:
- Удвоить все четные элементы массива D.
- Удалить второй и девятый элементы массива D после удвоения.
Давайте разберемся с каждым шагом по порядку:
Удвоить все четные элементы массива D: Пройдемся по всем элементам массива D и, если элемент четный, умножим его на 2.
Удалить второй и девятый элементы массива D после удвоения: После удвоения массива, у нас появятся новые элементы в массиве, и теперь нужно удалить второй и девятый элементы.
Примечание: При удалении элементов массива, индексы остальных элементов будут изменены, так что нужно быть аккуратным при выполнении этой операции.
Предполагая, что у вас есть массив D[1..n], давайте реализуем эти шаги на псевдокоде:
plaintextПроцедура УдвоитьИУдалить(D[1..n]) // Шаг 1: Удвоить все четные элементы Для каждого i от 1 до n Если D[i] четное D[i] = D[i] * 2 // Шаг 2: Удалить второй и девятый элементы Для каждого i от 8 до 2 с шагом -1 Удалить элемент D[i] Конец Процедуры
Пожалуйста, обратите внимание, что в данной реализации я предполагаю, что индексы массива начинаются с 1. Если в вашем языке программирования индексы начинаются с 0, то вам нужно будет адаптировать код соответствующим образом.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







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