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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2011, 19:44   #1
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию Паскаль. найти цифры среди букв и поменять местами.

Здравствуйте, уважаемые программисты. Задание такое: Есть 2 файла, в одном написано abc23z18pK1 Нужно в другой файл записать эту строку, только все цифры в обратном порядке, чтобы получились. Выглядеть будет так: abc18z13pK2
Считать, записать смогу, а вот как эти цифры считать по порядку и сзада наперед записать в тойже последовательности. Помогите пожалуйста, буду презнателен.
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 14.01.2011, 19:47   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

пока не встретился)

идешь справа пока не встретишь цифру
идешь слева пока не встретишь цифру
меняешь цифры местами)

Код:
const s='abc23z18pK1';
      cf=['0'..'9'];
var s1:string;c:char;
i,j:integer;
begin
s1:=s;
i:=1; j:=length(s1);
while i<j do begin
while not (s1[i] in cf) do begin
inc(i);if i>j then break;end;
while not (s1[j] in cf) do begin
dec(j);if j<i then break;end;
if i<j then begin
c:=s1[i];s1[i]:=s1[j];s1[j]:=c; inc(i);dec(j);end;
end;
writeln(s);
writeln(s1);
end.
резалт :
Цитата:
abc23z18pK1
abc18z13pK2
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 14.01.2011 в 20:01.
Mad_Cat вне форума Ответить с цитированием
Старый 14.01.2011, 20:16   #3
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

Спасибо большое!!! +.
С файлами доделал сам.
Кому нужна с файлами:
Код:
const s='abc23z18pK1';
      cf=['0'..'9'];
var s1:string;c:char;
i,j:integer;
begin
s1:=s;
i:=1; j:=length(s1);
while i<j do begin
while not (s1[i] in cf) do begin
inc(i);if i>j then break;end;
while not (s1[j] in cf) do begin
dec(j);if j<i then break;end;
if i<j then begin
c:=s1[i];s1[i]:=s1[j];s1[j]:=c; inc(i);dec(j);end;
end;
writeln(s);
writeln(s1);
end.
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics

Последний раз редактировалось grom333; 14.01.2011 в 20:18.
grom333 вне форума Ответить с цитированием
Старый 14.01.2011, 22:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Кому нужна с файлами:
Низачот. Прийдете осенью )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из списка городов найти название города с максимальным числом букв [Паскаль] Twisti Помощь студентам 6 25.12.2010 21:34
поменять местами цифры Максикок Помощь студентам 2 07.10.2010 22:41
Паскаль! поменять местами максимальный и минимальный элемент матрицы. wrmarw Помощь студентам 4 08.05.2010 13:06
найти наибольший и наименьший элемент матрицы B(N x M) и поменять их местами поЛотЕнчик_просТо Общие вопросы C/C++ 2 13.05.2009 12:17
Три квадратных уравнения. Найти минимальное значение среди действительных корней этих уравнений. Паскаль. GE076 Помощь студентам 2 17.12.2007 20:41