Задачи по Pascal. Удалить из строки все звездочки.

Задачи по Pascal

Условие задачи : Удалить из строки все звездочки, строку должен вводить пользователь (Язык Pascal)

Сложность : легкая .

Решение задачи :

Для решения этой программы нам понадобиться цикл for и оператор условия if, затем переменная под этом цикл, т.е. счетчик и переменная в которую мы будем записывать нашу строку , она у нас будет типа string .

Начнем мы с каркаса нашей программы :

program del ;

var line : string ;
    i : integer ;
begin

end.

Объявили переменные. Дальше мы попросим пользователя ввести строку которую мы будем обрабатывать :

writeln('Vvedite stroky so zvezdo4kami (*) : '); readln(line);

Теперь мы пустим цикл по этой строке чтобы удалить из неё все звездочки и зададим соответствующее условие:

for i := length(line) downto 1 do
    if line[i] = '*' then delete(line, i, 1);

И так что мы тут делаем ? Мы пускаем цикл for, переменной i мы присваиваем длину строки , функция length() возвращает нам количество символов в строке . И обратите внимание на то что мы пишем не to a downto , т.е. мы идем по циклу сверху вниз , а не наоборот как обычно . В теле цикла мы пишем условие , если какой либо элемент строки равен * , то мы его удаляем при помощи функции delete .

Она работает следующим образом , у неё три параметра :

  1. Сама строка
  2. Элемент с которого должно начаться удаление
  3. Сколько символов удалить .

Думаю технология понятна . Мы удаляем в строке line , начиная с i — го элемента один символ .

Ну и теперь нам осталось вывести готовую строку :

writeln(line);

Всё решение задачи Pascal :

program del ;
 
var
  line: string;
  i: integer;
 
begin
  writeln('Vvedite stroky so zvezdo4kami (*) : '); readln(line);
 
  for i := length(line) downto 1 do
    if line[i] = '*' then delete(line, i, 1);
  writeln(line);
  readln;
end.

cyber
Оцените автора
CyberLesson | Быстро освоить программирование Pascal и C++. Решение задач Pascal и C++
Добавить комментарий