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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2008, 22:48   #1
Arteom
Пользователь
 
Регистрация: 22.08.2007
Сообщений: 59
По умолчанию изменение порядка следования символов в строке

Доброго всем времени суток. Подскажите пожалуйста, как реальзовать вот такую задачу:
имеется строка примерно такого вида: STR = str1, str2, str3
необходимо представить ее в следующем виде: NewSTR = str3/str2/str1.
Заранее спасибо за помощь
Arteom вне форума Ответить с цитированием
Старый 09.10.2008, 00:05   #2
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

Код:
var
  STR: String;
begin
  STR := 'str1, str2, str3';
  while Pos(',', STR) <> 0 do
     STR[Pos(',', STR)] := '\';
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 09.10.2008, 09:42   #3
Arteom
Пользователь
 
Регистрация: 22.08.2007
Сообщений: 59
По умолчанию

так только запятые меняются на черту, а подстроки местами не меняются
Arteom вне форума Ответить с цитированием
Старый 09.10.2008, 10:49   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Если писать в Паскале, то примерно так:
Код:
uses crt;
var STR,NewSTR:string;
    s:array[1..3]of string;
    i,k:integer;
begin
clrscr;
STR:='str1, str2, str3'; //вводим строку, можно и другой длины, но такой же структуры
k:=1;
while pos(',',STR)>0 do
    begin
      s[k]:=copy(STR,1,pos(',',STR)-1);//записываем в массив слова типа  str1
      delete(STR,1,pos(',',STR)+1);//удаляем по пробел
      k:=k+1;
    end;
s[k]:=STR;//последний элемент массива - остаток строки
NewSTR:='';
for i:=k downto 1 do  //с конца добавляем элементы массива в новую строку +'/'
NewSTR:=NewSTR+s[i]+'/';
NewSTR[length(NewSTR)]:='.';//в конец точку
write('NewSTR=',NewSTR);
readln
end.
В делфи все проще, там есть функция PosEx (последнее вхождение подстроки) и можно сразу начинать с конца.
puporev вне форума Ответить с цитированием
Старый 10.10.2008, 09:34   #5
Arteom
Пользователь
 
Регистрация: 22.08.2007
Сообщений: 59
По умолчанию

Спасибо, все получилось
Arteom вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение шрифта отдельных символов Melevir Помощь студентам 1 13.09.2008 14:52
Вывод символов в строке Karl_Karlovi4 БД в Delphi 12 03.06.2008 13:31
Определение количество символов в строке, и самих строк. Патрон Общие вопросы Delphi 10 01.04.2008 12:43
Подсчет количества заданных символов в строке Mihailo Помощь студентам 3 23.12.2007 11:58
кол-во букв в строке символов (Си) Newman Помощь студентам 1 04.12.2007 02:19