Условие задачи : Удалить из строки все звездочки, строку должен вводить пользователь (Язык 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 .
Она работает следующим образом , у неё три параметра :
- Сама строка
- Элемент с которого должно начаться удаление
- Сколько символов удалить .
Думаю технология понятна . Мы удаляем в строке 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.