![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени сток Ув.форумчане!помогите пожалуста в решении задачи :Дана строка слов,отделённых пробелом,в конце строки точка.поменять местами два центральных слова,если их количество парное!Если можно приведите код программы на Delphi7
|
#2
|
|||
|
|||
![]() Как-то так:
Код:
function ReplaceCenterWords(S : String) : String; var L : TStrinList; I : Integer; begin Result := S; L := TStringList.Create; L.Text := StringReplace(S,' ',#13#10,[rfReplaceAll]); If L.Count mod 2 = 0 Then Begin L.Exchange((L.Count div 2)-1,(L.Count div 2)); Result := StringReplace(L.Text,#13#10,' ',[rfReplaceAll]); End; L.Free; end; Последний раз редактировалось lmikle, 06.05.2011 в 02:23. |
#3
|
|||
|
|||
![]() Нашол 100% правильный,к томуже работающий вариант-одна проблема-не могу адаптировать под делфи7 пожалуста помогите!
Код:
program z6; { Дана строка слов разделенных пробелом ,в конце строки точка. Поменять местами два центральных слова если их количество четно} uses crt; var a,b:string;i,j,l:longint; c:array[1..30]of string; begin clrscr; write('введите текст: ');readln(a); b:='';j:=1;l:=length(a); if (a[l]<>'.')then begin writeln(' ОШИБКА!!!'); write(' В конце должна стоять точка'); readln;halt; end; for i:=1 to l do if (a[i]=' ')or(a[i]='.')then begin c[j]:=b;b:='';inc(j); end else b:=b+a[i];j:=j-1; if j mod 2<>0 then beginwrite('количество слов нечетно');readln;halt;end; l:=j div 2;b:=c[l];c[l]:=c[l+1];c[l+1]:=b; for i:=1 to j do write(c[i],' '); readln; end. |
#4
|
|||
|
|||
![]() А чем тебя мой вариант не устроил?
а адаптировать посто. 1. Выкидываешь uses crt; 2. В начало, после строки с program, вставляешь {$APPTYPE CONSOLE} |
#5
|
|||
|
|||
![]() Проблема в том,что мне нужно не консольное приложение а оконное!
|
#6
|
|||
|
|||
![]() Цитата:
я тебе дал функцию, которая принимает строку и возвращает готовый результат. А где ты ее применишь - уже твое дело. |