Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Строки, Pascal (http://www.tehnari.ru/f43/t250675/)

Anastasia12 11.12.2016 08:00

Строки, Pascal
 
Требуется переставить в начало строки все буквы в порядке их следования, затем цифры, и в конце – остальные символы. Рабочие строки не использовать.

Входные данные:
abh[b55](0123)jw((’)f)#dd&&87

Выходные данные:
abhbjwfdd55012387([]((’))#&&

Vladimir_S 11.12.2016 08:58

Цитата:

Сообщение от Anastasia12 (Сообщение 2442971)
Рабочие строки не использовать.

Вот тут, пожалуйста, подробнее. Что значит "рабочие строки" и чего нельзя использовать? А что можно?

Anastasia12 11.12.2016 09:12

я не знаю( у меня со строка огромная беда((

Vladimir_S 11.12.2016 10:35

Цитата:

Сообщение от Anastasia12 (Сообщение 2442977)
я не знаю( у меня со строка огромная беда((

Ну не знаю, устроит ли такое решение, ломал-ломал голову, как совсем обойтись без второй строки, но так и не придумал. Вот, "чем богаты":
Код:

Const
 Let=['a'..'z']+['A'..'Z'];
 Dig=['0'..'9'];

Var
 S,S1:String;
 i,L:Byte;

Begin
 Writeln('Enter the String:');
 Readln(S);
 L:=Length(S);
 S1:='';
 for i:=1 to L do
  if (S[i] in Let) then S1:=S1+S[i];
 for i:=1 to L do
  if (S[i] in Dig) then S1:=S1+S[i];
 for i:=1 to L do
  if Not(S[i] in Let) and Not(S[i] in Dig) then S1:=S1+S[i];

 Writeln('Result:');
 Writeln(S1);

 Readln
End.


Anastasia12 11.12.2016 10:47

спасибо большое


Часовой пояс GMT +4, время: 12:35.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.