Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Операции со строками 
:(
    Опции темы
Flocky
  Дата 11.12.2015, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.12.2015

Репутация: нет
Всего: нет



Дана строка символов. 
Группы символов, разделенные одним или несколькими пробелами и не содержащие пробелов внутри себя, будем называть словами. 
В каждом нечетном по порядку слове поменять местами первый и последний символы.
PM MAIL   Вверх
mikeyess
Дата 13.12.2015, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 7.1.2014

Репутация: нет
Всего: нет



Добрый день.
В чем проблема?
Нужно просто разделить строку на слова (можно использовать функцией Pos).
Пройтись по словам, выбрать только нечетные по порядку слова, в них поменять первый и последний символы,потом собрать строку из измененных слов.
С уважением, Mike

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
seertrue
Дата 13.12.2015, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 12.12.2010

Репутация: нет
Всего: нет



Есть библиотечная ф-ция function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings): Integer;.
Вот функция для примера:
///    <summary>
///      Возвращает N-ое слово в строке S, WordDelims - разделдиттели слов
///    </summary>
///    <param name="N">
///      порядок слова
///    </param>
///    <param name="S">
///      исходная строка
///    </param>
///    <param name="WordDelims">
///      разделители слов
///    </param>
///    <returns>
///      Искомое слово
///    </returns>
///    <remarks>
///      Переписанная с использованием ExtractStrings
///    </remarks>
function ExtractWord(N: Integer; const S: string; const WordDelims: String): string;
var
  i, cnt: Integer; // переменная цикла и к-во полученных слов
  sl: TStringList; // список слов
  Separators: TSysCharSet; // набор разделителей
begin
  Separators:=[];
  for i:=1 to Length(WordDelims) do
    Separators:=Separators + [WordDelims[i]];
  sl:=TStringList.Create;
  try
    cnt:=ExtractStrings(Separators, [' '], PChar(S), sl);
    if N <= cnt then
      Result:=sl[N - 1]
    else
      Result:='';
  finally
    sl.Free;
  end;
end;

Думаю нечетное слово из списка TStringList как достать догадаетесь?
Еще подсказка ReverseString для определения последнего символа.


Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1127 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.