Помощь - Поиск - Пользователи - Календарь
Полная версия: Строки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
cseee
Помогите с сторками, я вообще их не понимаю, а завтра сдавать.
Вот задание:
Рассматривается непустая строка, содержащая не более 80 символов, каждый символ строки может быть малой английской буквой,цифрой или одним из знаков + - *.Требуется написать программу которая находит и печатает все группы цифр, которые начинаются и заканчиваются одной и той же цифрой.Группа цифр, состоящая из одной цифры,пренадлежит множеству искомых групп цифр.Если в строке нет ни одной группы цифр которая начинается и кончается одной и той же цифрой, то напечатать сообщение:"В строке не ни одной искомой группы цифр".Если в строке нет ни одной группы цифр, то напечатать сообщение:"В строке не ни одной группы цифр".Исходная строка вводиться с клавиатуры.
cseee
smile.gif Готов отдать 150руб, очень нужна прога.Помогите кто может)
Артемий
Почожие задачи были,поищи по форуму.
hranitel
а вот такой вопрос:
как очитстить перменную типа string?
я пробовал так st:='';
но потом перестаёт работать поэлеметное присваивание...а мне оно нужно...
мисс_граффити
так и очищают...
поэлементное, естественно, не работает - элементов-то нет, строка пустая.
приведи код, чтобы было понятно, зачем оно тебе нужно - может, что-то и придумается.
hranitel
М
пользуйся тегами !


Цитата(мисс_граффити @ 22.07.2007 23:52) *

так и очищают...
поэлементное, естественно, не работает - элементов-то нет, строка пустая.
приведи код, чтобы было понятно, зачем оно тебе нужно - может, что-то и придумается.


у меня в общем задача следующая:
написать приложение Бюро знакомств.
анкеты у меня распологаются в файле в следующем виде
*a*...*b*...$ и так далее
где ... - это какая-то графа анкеты, а $ символ конца строки.
я написал функцию, которая ищет нужное поле в анкете по аски коду буквы, которая находится между *

вот она:

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;


в переменную bbyfer запоминается нужное поле
но когда я ищу другое поле, мне нужно строку, которую я использу в качестве аргумента данной функции очистить...
но тогда перестаёт работать поэлементное присваивание, которое я испльзую в моей функции...
WargaL
М
пользуйся тегами !


Я, собственно, по поводу темы, хотя и не вовремя(только сегодня увидел). Вдруг, кому пригодится.
прога должна выглядеть где-то так:

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.


не судите строго.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.