
Удалить все двузначные элементы массива, заканчивающиеся на 2. Помогите пожалуйста с паскалем


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

program raf105;
const
n = 5;
var
a:array[1..n] of integer;
x, counter, i: integer;
begin
writeln('Заполните массив:');
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
begin
if counter > 0
then a[i-counter]:= a[i];
if (a[i] >= 10) and (a[i] <= 99) and (a[i] mod 10 = 2)
then counter:= counter + 1;
end;
for i:=n-counter+1 to n do
a[i]:= 0;
writeln('Вывод:');
for i:=1 to n-counter do
writeln(a[i]);
end.
Язык PascalABC



Для удаления всех двузначных элементов массива, заканчивающихся на 2, вам потребуется выполнить следующие шаги в языке программирования Pascal:
- Объявить массив.
- Проинициализировать массив значениями.
- Перебрать элементы массива, проверить, является ли элемент двузначным и заканчивается ли он на 2.
- Если условие выполняется, удалить элемент из массива.
- Уменьшить размер массива на единицу.
Здесь приведен пример кода на языке Pascal, который выполняет указанную операцию:
pascalprogram RemoveTwoDigitNumbersEndingWith2; const MAX_SIZE = 100; // Максимальный размер массива type IntArray = array[1..MAX_SIZE] of Integer; var arr: IntArray; n, i, j: Integer; procedure RemoveElement(var arrayToModify: IntArray; index: Integer; var size: Integer); begin // Сдвигаем элементы массива на одну позицию влево, начиная с удаляемого элемента for j := index to size - 1 do arrayToModify[j] := arrayToModify[j + 1]; // Уменьшаем размер массива на единицу size := size - 1; end; begin // Ввод размера массива и его элементов Write('Введите размер массива (не более ', MAX_SIZE, '): '); ReadLn(n); WriteLn('Введите элементы массива:'); for i := 1 to n do ReadLn(arr[i]); // Перебираем элементы массива и удаляем двузначные элементы, заканчивающиеся на 2 i := 1; while i <= n do begin if (arr[i] >= 10) and (arr[i] <= 99) and (arr[i] mod 10 = 2) then RemoveElement(arr, i, n) else i := i + 1; end; // Вывод измененного массива WriteLn('Измененный массив:'); for i := 1 to n do WriteLn(arr[i]); end.
Обратите внимание, что этот пример использует цикл while
для перебора элементов массива, поскольку размер массива изменяется при удалении элементов. Вы также можете использовать другие подходы для удаления элементов, например, использовать цикл for
или рекурсию. Важно обратить внимание на изменение размера массива и корректное обновление переменной n
(размера массива) после удаления элемента.


Похожие вопросы

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