Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2013, 21:17   #1
программирование
Форумчанин
 
Регистрация: 22.04.2013
Сообщений: 162
Восклицание подпрограмма , которая из текста S изымала указанный символ х Делфи 7 (консольный режим)

добрый вечер, уважаемые программисты, студенты-программисты, а также все кто увлекается компьютерными науками.
помогите, пожалуйста, написать программу на языке Делфи 7 в консольном режиме (в котором нету никаких визуальных компонентов и он похож на обычный Паскаль).

вот подробное описание задания:
Условие : Создать подпрограмму , которая из текста S изымала указанный символ х и вычисляла количество изъятий .
В программе организовать вызов этой подпрограммы.
Очевидно , что подпрограмма , которая выполняет эту задачу , должна иметь три формальных параметров.
Обозначим их следующим образом :
S - заданный текст ( переменная строчного типа string ) ;
x - символ, подлежащий изъятию ( переменная символьного типа char ) ;
count - количество изъятий ( числовая переменная целого типа , например byte ) .
Параметр x должен быть параметром-значением ( входной параметр ) , а параметры S и count параметрами- переменными ( выходные параметры ) .

Строка S фактически является и входным , и выходным , так как по условию задачи именно в нем необходимо осуществить изъятие заданных символов .

Для выполнения поставленной задачи , удобнее использовать цикл с предусловием , потому что после удаления символов с строке он меняет свою длину и использования цикла с параметром ( for ) может привести к ошибке .
Кроме того , обратите внимание на то , что изменение индекса и (номер текущей позиции строки ) выполняется только в случае , если искомый символ не найдено . Это связано с тем , что строка может содержать этот символ в соседних позициях и после удаления текущего символа на ту же позицию попадает вновь искомый символ .
Отметим лишь , что соответствующие фактические параметры в предложенной программе будут называться
А ( заданный текст ) ,
ch ( символ, подлежащий изъятию) ,
N ( количество изъятий ) .


заранее огромное спасибо всем за помощь.
программирование вне форума Ответить с цитированием
Старый 01.12.2013, 19:42   #2
программирование
Форумчанин
 
Регистрация: 22.04.2013
Сообщений: 162
Восклицание помогите, пожалуйста.

народ, помогите, пожалуйста, написать эту программу.
программирование вне форума Ответить с цитированием
Старый 01.12.2013, 20:23   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Наработки? Попытки? Если нет то:
Код:
function extract(var s:string;c:char):Integer;
var i:integer;
begin
  result:=0;
  for i:=Length(s) to 1 do 
   if s[i]=c then begin delete(s,i,1); inc(result);end;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение дерева из постфиксного арифметического выражения. (Pascal[консольный режим Delphi]) [COOLER] Помощь студентам 0 26.02.2012 00:54
Проект Win32 Console Application (консольный режим), среда Visual C++ 6.0 Ma666oT Фриланс 8 02.04.2010 08:20
Проект Win32 Console Application (консольный режим), среда Visual C++ 6.0 Ma666oT Помощь студентам 11 01.04.2010 14:56
Delphi(консольный режим) спрятать окно Air Помощь студентам 4 02.07.2008 14:21
Загрузка из файла (консольный режим Делфи) adwaer Помощь студентам 3 30.06.2008 15:55