Страница 2 из 2

Re: В строке переставить местами слова и вывести в одну строку

Добавлено: 04 янв 2007, 00:26
Хыиуду
сНежная писал(а):первое меняется со вторым, а третье без изменений. А можно на чистом Паскале, мы еще Делфи не изучали, и как сделать с циклом. прощу прощения за свои знания, я только месяц изучаю, но стараюсь :)
Можно так: бежишь по строке, пока не найдешь два пробела (т.е. два отдельных слова). Отделяешь эту строку от исходной, в ней слова меняешь местами и приклеиваешь полученную строку к результату.
Например

Код: Выделить всё

s:='Это ваша исходная строка'
s1:=''
repeat
   temp:=gettwowordsfromstring(s); //как раз получить два слова из строки, как - твое дело. Также надо предусмотреть случай, когда в строке осталось только одно слово.
   delete(s,1,length(temp));
   swapwords(temp);//это описанная выше процедура, которая меняет строки местами
   s1:=s1+temp
until s1='';
В конце в s1 получим результат

Re: В строке переставить местами слова и вывести в одну строку

Добавлено: 06 янв 2007, 08:17
Oleg_Rus
С прошедшими всех...

а ты пыталась просто копировать строку?
&quot писал(а):for i:=1 to length(s) do
begin
if (s<>' ')and(s[i+1]=' ')
then inc(k);
end;


найдешь 1 слово, а дальше?