![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Даны символы S1,S2,... Известно, что символ S1 отличен от пробела
и что среди S2,S3... имеется хотя бы один пробел. Рассматриваются S1,...,Sn - символы, предшествующие первому пробелу (n заранее неизвестно). Преобразовать последовательность S1,...,Sn, удалив все символы, не являющиеся буквами и цифрами если я правильно поняла заднание, то код который не работает вот Код:
program Project9;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
s: array[1..100] of string;
n, i, j: byte;
begin
try
begin
try
repeat
writeln('vvedite stroky');
readln(s);
i:=pos(' ',s);
if i in [0,1] then writeln('Строка введена неверно! Повторите ввод.');
until not(pos(' ',s) in [0,1]);
while i>0 do if(s[i]='0') then delete(s,i,1) else dec(i);
write(s);
readln
end;
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.Последний раз редактировалось Admin, 06.10.2014 в 21:28. |
|
#2
|
||||
|
||||
|
Фейспальм, твой выход.
В чем проблема то? |
|
#3
|
||||
|
||||
|
Примерно так:
Код:
Var
S: String;
i,n: Integer;
begin
S := '123 456abc#78%90';
n := Length(S);
for i := n downto 1
do if not (S[i] in ['0'..'9','a'..'z'])
then Delete(S,i,1);
end; |
|
#4
|
|||
|
|||
|
А stringreplace это не решает?
|
|
#5
|
||||
|
||||
|
Цитата:
|