Предмет: Информатика,
автор: hiihyh8
Прога не работает, объясните почему и как это исправить.
function stroka(s: string): string;
var
x,k,i:integer;
begin
for i:=1 to length(s) do
begin
val(copy(s,i,1),x,k);
if k<>0 then delete(s,pos(copy(s,i,1),s),1);
end;
stroka:=s;
end;
var
s1:string;
begin
read(s1);
write(stroka(s1));
end.
hiihyh8:
По идеи она должна удалять все кроме цифр в строке. Но я хз что не такю
Ответы
Автор ответа:
0
эту программу можно сократить:
________________________________
var
s1,s2,a:string;
begin
Readln(s1);
for var i := 0 to 9 do a += IntToStr(i);
for var i := 1 to Length(s1) do
for var k := 1 to 9 do
if s1[i] = a[k] then s2 += s1[i];
write(s2);
end.
_________________________________
for var i := 0 to 9 do a += IntToStr(i);
- заполнение массива числами от 0 до 9
for var i := 1 to Length(s1) do
for var k := 1 to 9 do
if s1[i] = a[k] then s2 += s1[i];
- двойной цикл проверяющий каждый символ в введенной строке, и в случае если символ = 1 из 10 цифр массива a прибавляет к переменной s2 этот символ
Похожие вопросы
Предмет: Русский язык,
автор: elena509
Предмет: Русский язык,
автор: Аноним
Предмет: Русский язык,
автор: sl0503
Предмет: Русский язык,
автор: danfatik0710
Предмет: МХК,
автор: sasaf0818