Помощь - Поиск - Пользователи - Календарь
Полная версия: Function
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Dima
Задание:
Ввести с клавы слово и переместить первый символ в конец слова, если он не есть латинской буквой.

Без функции я это задание решил, но я еще не понимаю как его правильно прописать в функции. Подскажите плз. А еще лучше покажите...
Артемий
Вот посмотри:
function SetWord(var s: string): string;
var
len,i,o: Integer;
c: char;
begin
len:=length(s);
c:=s[1];
if (c>='a') and (c<='z') then
begin
SetWord:='';
exit;
end
else
s:=s+' ';
s[len+1]:=c;
Delete(s,1,1);
SetWord:=s;
end;
volvo
Артемий2, 2 вопроса:
1) с чего функция возвращает пустую строку, если 1-ый символ переданной ей строки 'a' .. 'z'? Может, лучше было вернуть исходную строку?
2) 'A' .. 'Z' - уже НЕ буквы латинского алфавита?
Артемий
Замечательно! Простите! smile.gif
function SetWord(var s: string): string;
var
len,i,o: Integer;
c: char;
begin
len:=length(s);
c:=s[1];
if ((c>='a') and (c<='z')) or ((c>='A') and (c<='Z')) then
begin
SetWord:=s;
exit;
end
else
s:=s+' ';
s[len+1]:=c;
Delete(s,1,1);
SetWord:=s;
end;
TarasBer
Зачем?

s:=s+' ';
s[len+1]:=c;


Может:

s:=s+с;

Артемий
Компактность! smile.gif
volvo
Ну, раз компактность, то:
function SetWord(s: string): string;
begin
if upcase(s[1]) in ['A' .. 'Z'] then SetWord := s
else SetWord := Copy(s, 2, length(s)) + s[1];
end;
Артемий
good.gif Крут! good.gif
Гость
Цитата(TarasBer @ 22.02.2007 22:04) *

Зачем?

s:=s+' ';
s[len+1]:=c;


Может:

s:=s+с;



TarasBer, ты правда думаешь, что это эвивалентная замена?
Lapp
Последний пост - мой. Извиняюсь, забыл войти..
volvo
Lapp, да, я тоже так думаю. В чем возражение?
Гость
Цитата(volvo @ 23.02.2007 9:09) *

Lapp, да, я тоже так думаю. В чем возражение?

Да, все верно, извиняюсь. Бес попутал smile.gif. Или перегрев под конец дня..
Lapp
И опять гостем!.. Фу ты ну ты.. Но я же не выходил, вроде.. башка уже ни к черту..
Простите!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.