Помогите с сторками, я вообще их не понимаю, а завтра сдавать.
Вот задание:
Рассматривается непустая строка, содержащая не более 80 символов, каждый символ строки может быть малой английской буквой,цифрой или одним из знаков + - *.Требуется написать программу которая находит и печатает все группы цифр, которые начинаются и заканчиваются одной и той же цифрой.Группа цифр, состоящая из одной цифры,пренадлежит множеству искомых групп цифр.Если в строке нет ни одной группы цифр которая начинается и кончается одной и той же цифрой, то напечатать сообщение:"В строке не ни одной искомой группы цифр".Если в строке нет ни одной группы цифр, то напечатать сообщение:"В строке не ни одной группы цифр".Исходная строка вводиться с клавиатуры.
Готов отдать 150руб, очень нужна прога.Помогите кто может)
Почожие задачи были,поищи по форуму.
а вот такой вопрос:
как очитстить перменную типа string?
я пробовал так st:='';
но потом перестаёт работать поэлеметное присваивание...а мне оно нужно...
так и очищают...
поэлементное, естественно, не работает - элементов-то нет, строка пустая.
приведи код, чтобы было понятно, зачем оно тебе нужно - может, что-то и придумается.
М | пользуйся тегами ! |
function findpol (var ffile:ff; kod:integer;var bbyfer:byftype): byte;
var
is:integer;
chh:char;
begin
findpol:=1;
repeat
read(ffile,chh);
if chh='#'then
begin
findpol:=0;
break;
end;
while chh<>'*' do
read(ffile,chh);
read(ffile,chh);
if ord(chh)=kod then begin
is:=1;
read(ffile,chh);
read(ffile,chh);
while 1<>2 do
begin
bbyfer[is]:=chh;
writeln(bbyfer);
read(ffile,chh);
if (chh='*') or (chh='$') then begin
seek (ffile,filesize(ffile)-1);
break; end;
inc(is);
end;
break; end
else
read(ffile,chh);
until 1=2;
end;
М | пользуйся тегами ! |
program Project1;
type
digChar=set of '0'..'9';
var
s:digChar;
str:string;
i,k:integer;
j:boolean;
Procedure get(st:string; index:integer);
var i:integer;
res:string;
begin
i:=index+1;
res:=st[index];
while (st[i] in s) and (i<=length(st)) do
begin
res:=res+st[i];
if st[i]=st[index]
then begin
writeln(res);
j:=true
end;
i:=i+1
end;
end;
begin
j:=false;
s:=['0'..'9'];
readln(str);
k:=length(str);
for i:=1 to k do
begin
if str[i] in s
then get(str,i)
end;
if not j then writeln('no actual group of digit');
readln(str)
end.