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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2012, 22:06   #1
lialia
Форумчанин
 
Регистрация: 08.12.2012
Сообщений: 116
По умолчанию Операции со строками,как написать проограмму

Известно что в начале строке s длиной не более 40 символов находится не более 25 латинских букв за которыми следуют пробелы. напечатать эту строку предварительно удалив все вхождения th. Символ пробел заменить символом умножить(*).
lialia вне форума Ответить с цитированием
Старый 08.12.2012, 22:18   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

И Вам доброй ночи, повелитель!

Цитата:
как написать проограмму
Вкурить задание до полного просветления, разработать алгоритм (возможно, с блок-схемой), запустить паскаль и записать алгоритм в виде программы.

А серьезно - в чем конкретно затруднения?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 08.12.2012, 22:20   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
предварительно удалив все вхождения th
Код:
i:=pos('th',s);
while i<>0 do begin delete(s,i,2);i:=pos('th',s);end;
Цитата:
Символ пробел заменить символом умножить(*).
Код:
i:=pos(' ',s);
while i<>0 do begin s[i]='*';i:=pos(' ',s);end;
s - Строка i - целая переменка
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.12.2012, 22:29   #4
lialia
Форумчанин
 
Регистрация: 08.12.2012
Сообщений: 116
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
И Вам доброй ночи, повелитель!



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

А серьезно - в чем конкретно затруднения?
затруднение во всем , начиная с самого начала))даже не знаю с чего начать,помогитеи пжлст
lialia вне форума Ответить с цитированием
Старый 08.12.2012, 22:44   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
затруднение во всем , начиная с самого начала))даже не знаю с чего начать,помогитеи пжлст
Начать нужно с объявления переменных. Одна, типа string, у Вас будет точно - это исходная строка. Вторая, типа integer - позиция подстроки в строке. Дабы не отрываться от кода, предложенного Stilet'ом:

Код:
Var s: string;
    i: integer;
Далее оформляем программу. Текст кода программы пишется между операторами begin и end.

Первым делом вводим строку:

Код:
begin
  ReadLn(s);
  ...
  WriteLn(s);
  ReadLn;
end.
Вместо многоточий пишите код Виталия. В конце программы - выводим строку. Оператор ReadLn нужен, чтобы программа не закрывалась сразу, а ждала нажатия ентера.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 08.12.2012, 22:56   #6
lialia
Форумчанин
 
Регистрация: 08.12.2012
Сообщений: 116
По умолчанию

спасибо)а скажите как сделать так ,чтобы выполнялось что в строке s длиной не более 40 символов находится не более 25 латинских букв?я имею ввиду что если будет более 25 букв,чтобы выдывало false ,или если длинна строки более 40 символов
lialia вне форума Ответить с цитированием
Старый 08.12.2012, 23:15   #7
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,679
По умолчанию

Цитата:
Известно что в начале строке s длиной не более 40 символов находится не более 25 латинских букв
Т.е. это же вроде как дано изначально?
Но если что:
Код:
if length(s)>40 then writeln('в строке более 40 символов')
else begin
{основной код}
end;
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 08.12.2012 в 23:18.
MihalNik вне форума Ответить с цитированием
Старый 08.12.2012, 23:21   #8
lialia
Форумчанин
 
Регистрация: 08.12.2012
Сообщений: 116
По умолчанию

спасибо =)
lialia вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операции со строками. just_dake Помощь студентам 14 16.09.2011 15:32
Операции со строками ArniLand Общие вопросы C/C++ 1 06.04.2010 21:49
Помогите написать проограмму. паскаль skynet Помощь студентам 4 13.03.2007 19:09