Вопрос задан 19.07.2023 в 13:40. Предмет Информатика. Спрашивает Юхманова Наталья.

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

0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Банкетов Егор.

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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для удаления всех двузначных элементов массива, заканчивающихся на 2, вам потребуется выполнить следующие шаги в языке программирования Pascal:

  1. Объявить массив.
  2. Проинициализировать массив значениями.
  3. Перебрать элементы массива, проверить, является ли элемент двузначным и заканчивается ли он на 2.
  4. Если условие выполняется, удалить элемент из массива.
  5. Уменьшить размер массива на единицу.

Здесь приведен пример кода на языке Pascal, который выполняет указанную операцию:

pascal
program 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 (размера массива) после удаления элемента.

0 0

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

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

Последние заданные вопросы в категории Информатика

Задать вопрос