Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 060

/ вопрос открыт /

Здравствуйте! Помогите с решением задачки...Дано предложение,состоящее из слов, знаков препинания и других символов. словом в предложении считается последовательность символов из прописных и строчных букв латинского алфавита.Требуется перевернуть( записать в обратном порядке) все слова предложения, оставив знаки препинания и другие символы, включая буквы русского алфавита, без изменений. В предложении не более 255 символов.

Входные данные: строка, содержащая предложение;
Выходные данные: строка, содержащая конечное предложение;

Приложение:
  1.  


Примечание #1 (7 ноября 2008, 18:47):
Товарищи!!! Пожалуйста помогите!!! Вопрос жизни и смерти!!!

Ученый Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Ученый (статус: 8-ой класс)
Вопрос отправлен: 7 ноября 2008, 18:30
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Ученый!

var s1, s2:string;
i:integer;
begin
s - исходная строка.
s1 := ''; 
s2 := '';
for i := 1 to length(s) do begin
if (s[i] in ['A'..'Z','a'..'z']) then s1 := s[i] + s1
else begin
  s2 := s2 + s1; 
  s1 := '';
  s2 := s2 + s[i];
end;
s2 - ваш результат.
end;
вроде должно работать. Надеюсь выживите...

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 7 ноября 2008, 19:17
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 7 ноября 2008, 23:43; участников в обсуждении: 3.
Ученый

Ученый (статус: 8-ой класс), 7 ноября 2008, 19:30 [#1]:

to Вадим К. набрал следующее:
procedure TForm1.Button1Click(Sender: TObject);

var s1, s2:string;
s:string;
i:integer;
begin
s:= edit1.Text;
s1 := '';
s2 := '';
for i := 1 to length(s) do begin
if (s[i] in ['A'..'Z','a'..'z']) then s1 := s[i] + s1
else begin
s2 := s2 + s1;
s1 := '';
s2 := s2 + s[i];
end;
s2:=Edit2.Text;
end;
end;

end.
Нажимаю на кнопку и ничего не происходит...
Аксион

Аксион (статус: 4-ый класс), 7 ноября 2008, 19:31 [#2]:

В edit1 текст ввели?
Ученый

Ученый (статус: 8-ой класс), 7 ноября 2008, 19:33 [#3]:

To Блазер. Да в него самого.
Аксион

Аксион (статус: 4-ый класс), 7 ноября 2008, 19:33 [#4]:

Ой вот ошибка то:
Edit2.Text:=s2;
А не s2:=Edit2.Text;.
Ученый

Ученый (статус: 8-ой класс), 7 ноября 2008, 19:41 [#5]:

Ой точно! а вот смотрите! Пишу privet и нажимаю пробел, тогда все нормально переводит! если после слова не поставить пробел тогда не переводит вообще...
Ученый

Ученый (статус: 8-ой класс), 7 ноября 2008, 19:56 [#6]:

Товарищи!!! Большое спасибо вам!!! Теперь я возможно проживу на пару дней подольше!!! Еще раз спасибо!!!
Вадим К

Вадим К (статус: Академик), 7 ноября 2008, 23:43 [#7]:

Надо чуточку подкорректировать конец. Было
end;
s2:=Edit2.Text;
end;
стало
end;
s2 := s2 + s1;
Edit2.Text := s2;
end;
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:46
Выполнено за 0.04 сек.