IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Строки, помогите пожалуйста
cseee
сообщение 4.07.2007 14:11
Сообщение #1


Гость






Помогите с сторками, я вообще их не понимаю, а завтра сдавать.
Вот задание:
Рассматривается непустая строка, содержащая не более 80 символов, каждый символ строки может быть малой английской буквой,цифрой или одним из знаков + - *.Требуется написать программу которая находит и печатает все группы цифр, которые начинаются и заканчиваются одной и той же цифрой.Группа цифр, состоящая из одной цифры,пренадлежит множеству искомых групп цифр.Если в строке нет ни одной группы цифр которая начинается и кончается одной и той же цифрой, то напечатать сообщение:"В строке не ни одной искомой группы цифр".Если в строке нет ни одной группы цифр, то напечатать сообщение:"В строке не ни одной группы цифр".Исходная строка вводиться с клавиатуры.
 К началу страницы 
+ Ответить 
cseee
сообщение 4.07.2007 16:04
Сообщение #2


Гость






smile.gif Готов отдать 150руб, очень нужна прога.Помогите кто может)
 К началу страницы 
+ Ответить 
Артемий
сообщение 4.07.2007 17:33
Сообщение #3


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Почожие задачи были,поищи по форуму.


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hranitel
сообщение 22.07.2007 20:49
Сообщение #4





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


а вот такой вопрос:
как очитстить перменную типа string?
я пробовал так st:='';
но потом перестаёт работать поэлеметное присваивание...а мне оно нужно...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 22.07.2007 20:52
Сообщение #5


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


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


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hranitel
сообщение 22.07.2007 21:17
Сообщение #6





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


М
пользуйся тегами !


Цитата(мисс_граффити @ 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 запоминается нужное поле
но когда я ищу другое поле, мне нужно строку, которую я использу в качестве аргумента данной функции очистить...
но тогда перестаёт работать поэлементное присваивание, которое я испльзую в моей функции...

Сообщение отредактировано: klem4 - 24.07.2007 10:24
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
WargaL
сообщение 22.07.2007 23:15
Сообщение #7


Гость






М
пользуйся тегами !


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

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.


не судите строго.

Сообщение отредактировано: klem4 - 24.07.2007 10:25
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 18:26
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"