Распечатать все числа, встречающиеся в заданном тексте.
Ну, печатай... Мы не против.
"Помогите" и "напишите за меня" - это разные вещи, тебе не кажется?
Свои наработки есть? Только вот не надо опять старую шарманку, что "я не умею писать программы", и т.д. С момента создания тобой первой темы с этим заданием прошло почти 2 недели. За это время научиться можно многому. Если хотеть. Ты, как видно, не хочешь. А я не хочу помогать лентяям.
вот то что у меня получилось...ток там ошибка
program laba;
uses crt;
var
s:string;
a:array[1..20]of integer;
i,j:integer;
begin
writeln('Vvedite ctroky');
readln(s);
for i:=1 to length(s) do
if s[i]in['0'..'9'] then
s[i]:=s[i]+1;
writeln(s);
readln;
end.
М | tanjusha, просьба выполнять правила: помещай программный код в тэги! Выдели код и выбери нужный пункт в меню CODE в форме ввода мессаджа. Lapp |
s[i]:=s[i]+1;- у тебя нестыковочка.
Доберусь до паскаля проверю функциию
с - строка в которой ищется, и - позициия с которой проверяется, рез - возращаемое число, сама функция возращает найдено чило или нет.
function getInt(s:string; i:integer; var res:string):boolean;
var
ok:boolean;
begin
ok:=false;
result:=false;
{ Проверяем отрицательное ли число, и инициализируем нашу исходну строку }
if s[i]='-' then res:='-'
else res:='';
{проыеряем наше число в цикле, пока не встретим очередной пробел,либо конец чтроки}
while (s[i]<>' ') or (i<=length(s)) do
begin
{проверяем очиредной символ}
case s[i] of
{если это цифра то прибавляем в исходнуюю строку}
'0'..'9':
res:=res+s[i];
'.':
{проверяем точку в вещественном числе}
begin
{если такова есть то выходим из функции, функциия воратит false}
if ok then exit
else
begin
{если точки нету добавляем ее в вых значение и указуем флаг}
ok:=true;
res:=res+s[i];
end;
end;
else
{если у нас пришол какойто символ не 0-9 либо . значит выходим из функции, функциия воратит false }
exit;
end; { end для case}
{если все хорошо увиличиваем индекс}
i:=i+1;
end;
{если мы не вышли по какойто причине значит все хорошо и устанавливаем значение функции true,в res у нас число}
getint:=true;
end;
проверил, она правильно не работает, сейчас исправляю ошибки...
function getInt(s:string; i:integer; var res:string):boolean;
var
ok:boolean;
k:integer;
begin
ok:=false;
getint:=false;
k:=i;
res:='';
while (s[i]<>' ') and (i<=length(s)) do
begin
case s[i] of
'-':
begin
if k=i then res:=res+s[i]
else exit;
end;
'0'..'9':
res:=res+s[i];
'.':
begin
if (ok) or (i=k) then exit
else
begin
ok:=true;
res:=res+s[i];
end;
end;
else
exit;
end;
i:=i+1;
end;
getint:=true;
end;
function getInt(s:string; i:integer; var res:string):boolean;
var
ok:boolean;
k:integer;
begin
ok:=false;
getint:=false;
k:=i;
res:='';
while (s[i]<>' ') and (i<=length(s)) do
begin
case s[i] of
'-':
begin
if k=i then res:=res+s[i]
else exit;
end;
'0'..'9':
res:=res+s[i];
'.':
begin
if (ok) or (i=k) then exit
else
begin
ok:=true;
res:=res+s[i];
end;
end;
else
exit;
end;
i:=i+1;
end;
getint:=true;
end;