2 / 2 / 4
Регистрация: 14.01.2016
Сообщений: 58
1

Удалить из строки символы, не являющиеся цифрами

13.02.2016, 19:27. Показов 2905. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача: записи телефонных номеров обычно содержат дополнительные символы(скобки.черточки,пробелы), - чтобы удобней запоминалось.Например:8(123)45-67-89.Предположим,что пользователь их так и вводит.Пусть ваша программа преобразит строку с таким номером,удалив все символы,кроме цифр.Например, после ввода указанного выше номера она должна напечатать 8123456789.

Вот, что получишь накодить, но на месте не нужных символов остались пробелы.(((
Pascal
1
2
3
4
5
6
7
8
9
10
var a:integer;
    s:string;
begin
writeln('Введите ваш номер телефона');
readln(s);
for a:=1 to Length(S) do
if (s[a]='-') or (s[a]='(') or (s[a]=')') then 
s[a]:=' ';
write(s);
end.


Напишите новую программу, но с предельно простым синтаксисом.Спасибо)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2016, 19:27
Ответы с готовыми решениями:

Дан текст, в который входят любые символы. Удалить из него все символы не являющиеся буквами или цифрами
Дан текст, в который входят любые символы. Удалить из него все символы не являющиеся буквами или...

Удалить в данной строке все символы, являющиеся нечётными цифрами
Удалить в данной строке все символы, являющиеся нечётными цифрами.

Удалить из строки все символы не являющиеся буквами
помогите пожалуйста!!!!!!!!!!! Введите строку сивмолов.удалить из строки все символы не являющиеся...

Удалить из строки все символы, которые не являются арабскими цифрами.
Заданая строка, котороя состоит из слов, розделенными одним или несколькими пропусками.Удалить из...

12
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
13.02.2016, 19:36 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
var a:integer;
    s:string;
begin
writeln('Введите ваш номер телефона');
readln(s);
for a:=Length(s) downto 1 do
if not(s[a] in ['0'..'9']) then delete(s,a,1);
write(s);
end.
1
2 / 2 / 4
Регистрация: 14.01.2016
Сообщений: 58
14.02.2016, 12:38  [ТС] 3
Puporev, прошу пожалуйста, дополните вашу программу комментариями..Спасибо
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
14.02.2016, 12:50 4
Идем с конца строки к началу и если не цифра, то удаляем.
0
2 / 2 / 4
Регистрация: 14.01.2016
Сообщений: 58
14.02.2016, 12:56  [ТС] 5
Puporev,
Цитата Сообщение от Puporev Посмотреть сообщение
delete(s,a,1)
а что здесь указываеться в скобка?
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
14.02.2016, 12:57 6
А справку открой да посмотри, если до сих пор ни строчки из учебника не прочитал
0
2 / 2 / 4
Регистрация: 14.01.2016
Сообщений: 58
14.02.2016, 12:59  [ТС] 7
Puporev, учебник, который я изучаю об этом ни слово("Песни о Паскале"), а интернет рыть - это значит кучу время потерять.Лучше я думаю если живой человек объяснит.Но все равно спасибо за помощь)
0
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
14.02.2016, 12:59 8
Pascal
1
2
3
4
5
6
7
8
9
var a:integer;
    s:string;
begin
writeln('Введите ваш номер телефона'); // запрос номера
readln(s); // считывание
for a:=Length(s) downto 1 do // цикл будет выполнен столько раз, сколько символов в переменной s
if not(s[a] in ['0'..'9']) then delete(s,a,1); // если символ под номером a не равен цифре, то удаляем.
write(s); // выводим исправленный s
end.
1
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
14.02.2016, 13:01 9
Цитата Сообщение от RomaRi0 Посмотреть сообщение
Лучше я думаю если живой человек объяснит.
Считай что он помер..

Добавлено через 1 минуту
RostorLuxor, Ну и что ты опять влез? Что ты нового написал?
0
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
14.02.2016, 13:01 10
Pascal
1
delete(s,a,1);
Удаление символа из строки в указанной позиции.

S - Строка.
A - Позиция.
1 - Сколько символов от позиции будет удалено.
0
2 / 2 / 4
Регистрация: 14.01.2016
Сообщений: 58
14.02.2016, 13:03  [ТС] 11
Цитата Сообщение от RostorLuxor Посмотреть сообщение
delete(s,a,1)
объясните пожалуйста какие парметры указываються в скобках, гуглить не хочу((((((((((((((

Добавлено через 11 секунд
RostorLuxor, спасибо

Добавлено через 51 секунду
Цитата Сообщение от Puporev Посмотреть сообщение
RostorLuxor, Ну и что ты опять влез? Что ты нового написал?
он хотя бы объяснил, а не чистый код...........
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
14.02.2016, 13:03 12
Цитата Сообщение от RomaRi0 Посмотреть сообщение
гуглить не хочу
А нахрена у тебя в Паскале есть встроенная справка?
1
2 / 2 / 4
Регистрация: 14.01.2016
Сообщений: 58
14.02.2016, 13:08  [ТС] 13
Puporev, оо и правда есть.Спасибо за инфу. +1.
0
14.02.2016, 13:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.02.2016, 13:08
Помогаю со студенческими работами здесь

Удалить в строке все символы являющиеся буквами или цифрами, и заменить каждую большую букву одноименной малой
условие : Даны символы S1,...Sn. Известно, что символ S1 отличен от пробела и что среди S1,...

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

Удалить все символы, не являющиеся буквами или цифрами и заменить большую малой
Дана последовательность символов, количество букв <=255 удлить все символы не являющиеся буквами...

Из строки символов удалить все символы не являющиеся буквами
1)Получить в строке символов разделённой пробелами кол-во слов начинающихся с ''d''. 2)из строки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru