| 
| 
 | Вопрос # 2 060/ вопрос открыт / | 
 |  Здравствуйте! Помогите с решением задачки...Дано предложение,состоящее из слов, знаков препинания и других символов. словом в предложении считается последовательность символов из прописных и строчных букв латинского алфавита.Требуется перевернуть( записать в обратном порядке) все слова предложения, оставив знаки препинания и другие символы, включая буквы русского алфавита, без изменений. В предложении не более 255 символов.
 Входные данные: строка, содержащая предложение;
 Выходные данные: строка, содержащая конечное предложение;
 Примечание #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; Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |