Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2008, 15:20   #1
GaJIbI4
Пользователь
 
Регистрация: 03.10.2008
Сообщений: 77
По умолчанию помогите с функциями в паскале

У меня задача: заменить каждую группу пробелов одним пробелом с использованием функций. Паскаль ругается на строку
Function pr(st:string):string;
пишет Error 113: Error in statement
хз чё делать

Код:
var
st: string[15];
begin
write('Vvedite stroku= ');
readln(st);

Function pr(st:string):string;
begin
while pos('  ', st) > 0 do
delete(st, pos('  ', st), 1);
pr:=st;
end;

st:=pr
writeln('Stroka = ', st);
end.
GaJIbI4 вне форума Ответить с цитированием
Старый 14.11.2008, 16:18   #2
MalexG
Форумчанин
 
Регистрация: 06.11.2008
Сообщений: 100
По умолчанию

Судя по листингу вы не туда поместили описание функции pr().
Описание всех процедур и функций следует размещать в разделе описаний, а именно:
Код:
Programm MyProg;
  {Раздел описаний}  <- здесь надо описать функции и процедуры
begin
  {Раздел оператов}  <- здесь их надо использовать
end;
MalexG вне форума Ответить с цитированием
Старый 14.11.2008, 22:39   #3
GaJIbI4
Пользователь
 
Регистрация: 03.10.2008
Сообщений: 77
По умолчанию

Спасибо тебе MalexG.
Вот готовый вариант мб кому пригодиться.

Код:
var st,s: string[15];

Function pr(s:string):string;
begin
s:=st;
while pos('  ', s)>0 do
delete(s, pos('  ', s), 1);
pr:=s;
end;

begin
write('Vvedite stroku = ');
readln(st);
st:=pr(s);
writeln('Stroka = ', st);
end.
GaJIbI4 вне форума Ответить с цитированием
Старый 15.11.2008, 00:05   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

1)
Код:
var st,s: string[15];
Переменную s не надо объявлять, т.к она используется в качестве параметра функции.

2) Надо так
Код:
st:=pr(st);
3)
Код:
Function pr(s:string):string;
begin
while pos('  ', s)>0 do
delete(s, pos('  ', s), 1);
pr:=s;
end;
Переменная st не должна тут фигурировать, иначе зачем вообще есть параметры у функции

Итого
Код:
var st: string[15];

Function pr(s:string):string;
begin
while pos('  ', s)>0 do
delete(s, pos('  ', s), 1);
pr:=s;
end;

begin
write('Vvedite stroku = ');
readln(st);
writeln('Stroka = ', pr(st));
end.

Последний раз редактировалось eoln; 15.11.2008 в 00:15.
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парни, помогите чайнику с функциями в Excel MOLOTOV Microsoft Office Excel 4 06.10.2008 12:36
Помогите разобратся с функциями на С++ ANTI Общие вопросы C/C++ 1 04.03.2008 17:12
Помогите разобраться с функциями! Rembo Общие вопросы C/C++ 4 08.02.2008 21:24
Помогите с интерполяционными функциями Лагранжа victor07 Помощь студентам 3 03.12.2007 15:47