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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2011, 20:45   #1
Dima170792
Пользователь
 
Аватар для Dima170792
 
Регистрация: 04.04.2011
Сообщений: 76
Вопрос Дана строка слов,отделённых пробелом,в конце строки точка.поменять местами два центральных слова

Доброго времени сток Ув.форумчане!помогите пожалуста в решении задачи :Дана строка слов,отделённых пробелом,в конце строки точка.поменять местами два центральных слова,если их количество парное!Если можно приведите код программы на Delphi7
Dima170792 вне форума Ответить с цитированием
Старый 05.05.2011, 20:48   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Напишите хотябы свой алгоритм решения (пусть даже неправильный).
vovk вне форума Ответить с цитированием
Старый 05.05.2011, 20:58   #3
Dima170792
Пользователь
 
Аватар для Dima170792
 
Регистрация: 04.04.2011
Сообщений: 76
Печаль

Цитата:
Сообщение от vovk Посмотреть сообщение
Напишите хотябы свой алгоритм решения (пусть даже неправильный).
проблема в том,что я не имею понятия как ето организовать!
Dima170792 вне форума Ответить с цитированием
Старый 05.05.2011, 22:54   #4
Dima170792
Пользователь
 
Аватар для Dima170792
 
Регистрация: 04.04.2011
Сообщений: 76
Сообщение

Цитата:
Сообщение от vovk Посмотреть сообщение
Напишите хотябы свой алгоритм решения (пусть даже неправильный).
нашел код не знаю -вроде то,но не могу понять значения L.Text-скорей всего Edit, L : TStrinList-вообще не пойму -компонент есто или функция
Код:
function ReplaceCenterWords(S : String) : String;
var
  L : TStrinList;
  I : Integer;
begin
  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;
Dima170792 вне форума Ответить с цитированием
Старый 05.05.2011, 23:04   #5
Dima170792
Пользователь
 
Аватар для Dima170792
 
Регистрация: 04.04.2011
Сообщений: 76
Лампочка

Нашол 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.
Dima170792 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поменять местами слова в ячейке Нюни Microsoft Office Excel 28 05.12.2017 11:28
поменять местами слова в предложении (C++) Slicker Общие вопросы C/C++ 15 10.03.2011 10:17
строки на Си. поменять местами каждые 2 соседних слова alex(21) Фриланс 5 08.12.2010 12:02
Дана строка символов, содержащая слова. Определить количество слов, последний и предпоследний символы кот RamZax Паскаль, Turbo Pascal, PascalABC.NET 2 17.06.2010 14:06
Дана строка, состоящая из нескольких слов. Найти количество слов, которые содержат хотя бы одну букву "А" Mashaa Помощь студентам 13 09.12.2009 13:28